当列表没有项目时,无法在列表片段中显示空文本视图

时间:2014-08-13 05:12:06

标签: android android-listview android-listfragment

我在listfragmant内的ViewPager内显示一个列表。我已经找了varoius解决方案,但没有一个适合我。

解决方案1 ​​ -

if ((ArrayList) myList.size() > 0) {
   setListadapter(myAdapter);
} else {
   ListView lv = (ListView)findViewById(android.R.id.list);
   TextView emptyText = (TextView)findViewById(android.R.id.empty);
   lv.setEmptyView(emptyText);
}

解决方案2 -

if ((ArrayList) myList.size() > 0) {
  setListadapter(myAdapter);
} else {
  setEmptyText("No Items");
}

当列表为空时,它什么也没有显示,整个页面都是空的。我也定义了必要的XML。

2 个答案:

答案 0 :(得分:0)

你有三种方式:
1)创建片段并将ListView添加到它的布局然后在Listview后面放置Textview,这样当List为空时,TextView将出现。如果列表有子,则TextView不会出现。
2)如果您的数组没有项目,请使用任何文本(例如:“No Items”)将一个Item添加到数组中,并为listview设置适配器。
3)为ListView设置标题(布局可以是你想要的textview)

答案 1 :(得分:0)

您仍然需要设置适配器。如果适配器为空,则ListFragment将自动隐藏ListView并显示空视图。所以,正确的方法就是:

setEmptyText("No Items");
setListadapter(myAdapter);