如果ListView / Adapter为空,如何添加默认背景

时间:2013-08-27 16:27:53

标签: android listview adapter

这是我在标题中说的一个例子。使用应用程序" Feedly"。如果您的列表中有一个项目,它看起来像这样:

enter image description here

现在,如果列表为空,有一种很好的方法来处理这个,以避免一个大的空白空格,如下所示:

enter image description here

如何实现这一目标?

我正在考虑这种方式,请参阅我的伪代码:

if (adapter.size < 1) {
  // change ListView Background;
}

2 个答案:

答案 0 :(得分:4)

查看ListView#setEmptyView方法。

答案 1 :(得分:0)

如果你有一个空的ListView,高度应该是0,并且设置ListView的背景可能没用。

我在这里有几个解决方案:

  1. 根据适配器的大小设置LinearLayout / RelativeLayout的背景,包括ListView。

  2. 创建另一个ImageView,即“全部读取”图像,并根据ListView适配器的数据大小设置其可见性。

  3. 为适配器大小= 0时要显示的内容创建视图,并根据适配器大小使用ViewSwitcher在ListView和“所有读取”视图之间切换。我会推荐这个,因为它可能对“全部阅读”视图更灵活。您可以使用按钮,TextView,ImageView或任何要放入其中的布局元素。

  4. 2和3类似,但使用ViewSwitcher可以使代码可读性比为视图设置可见性更好。

    以下是使用ViewSwitcher的example