空ListView显示另一个活动

时间:2016-02-21 08:38:41

标签: java android android-layout listview textview

我正在创建一个使用ListView来显示数据库元素的应用程序。但是在第一次打开或用户删除所有内容时DB将为空,然后ListView将显示空白屏幕。我希望在它发生时显示一条消息。不仅是TextView,还有Button。例如“DB现在为空。单击按钮并尝试添加一些记录”。 ListView的{​​{1}}方法仅允许添加setEmptyView。是否真的可以创建布局并在TextView为空时显示它?

3 个答案:

答案 0 :(得分:2)

您可以使用属性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);

答案 1 :(得分:0)

如果列表为空,您可以在活动布局中动态添加按钮。 在按钮上设置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();
    } 
}); 

如果有帮助,请告诉我。

答案 2 :(得分:0)

您可以按照问题中的说明预先定义包含文本视图和按钮的布局,并在xml或java代码中设置它的visibility = gone。当列表视图为空时,您可以设置可见性listview.setVisibility(View.GONE)的可见性并设置您的布局(包含按钮和textview)layout.setVisibility(View.VISIBLE)