空ListView显示另一个活动

问题描述 投票:1回答:3

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

java android android-layout listview textview
3个回答
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);

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();
    } 
}); 

如果这有帮助,请告诉我。


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.