空ListView显示另一个活动
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了空ListView显示另一个活动相关的知识,希望对你有一定的参考价值。
我正在创建一个使用ListView
来显示数据库元素的应用程序。但是在第一次打开或用户删除所有内容时DB将为空,然后ListView将显示空白屏幕。我希望在它发生时显示一条消息。不仅是TextView,还有Button
。例如“DB现在为空。单击按钮并尝试添加一些记录”。 ListView
的setEmptyView
方法允许只添加TextView
。当ListView
为空时,是否真的可以创建一个布局并显示它?
答案
您可以使用属性setEmptyView。
如果列表为空并且显示所需的显示。
ListView listView = (ListView) findViewById(R.id.lst);
View child = getLayoutInflater().inflate(R.layout.empty_view, null);
((ViewGroup)listView.getParent()).addView(child);
listView.setEmptyView(child);
另一答案
如果列表为空,则可以在活动布局中动态添加按钮。在按钮上设置onClickListner并覆盖onClick()。
参考下面的代码:
LinearLayout linear = (LinearLayout)findViewById(R.id.layout);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
Button btn = new Button(this);
btn.setId("btnDynamic");
btn.setText("Go to create entry page");
linear.addView(btn, params);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Toast.makeText(view.getContext(),
"Button clicked index = " + id_, Toast.LENGTH_SHORT)
.show();
}
});
如果这有帮助,请告诉我。
另一答案
您可以按照问题中的说明预先定义包含文本视图和按钮的布局,并在xml或java代码中设置它的visibility = gone。当列表视图为空时,您可以设置可见性listview.setVisibility(View.GONE)的可见性并设置您的布局(包含按钮和textview)layout.setVisibility(View.VISIBLE)
以上是关于空ListView显示另一个活动的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 ListView 显示在一个片段中而不是另一个片段中?
从片段中ListView的onItemClick开始Activity