2011-06-06 53 views

回答

14

ListView - setEmptyView()有特殊的方法。你可以找到使用它的例子herehere

Upd:第二个链接现在不可用。这里是从文章中引用:

当您以编程方式设置ListView的“空视图”时,您最终可能会挠头,因为当列表为空时,您的空视图实际上不会出现。
如果发生这种情况,那么您忘记了您必须手动将空视图添加到视图层次结构中,因此Cos ListView不会为您执行此操作。尽管很明显,当你考虑这个问题时,文档没有提到这个细节,谷歌搜索显示至少有一个人遇到了问题。

这里与这一切都太容易在数字4和5忘记行代码...

TextView emptyView = new TextView(context); 
emptyView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 
emptyView.setText(“This appears when the list is empty”); 
emptyView.setVisibility(View.GONE); 
((ViewGroup)list.getParent()).addView(emptyView); 
list.setEmptyView(emptyView); 
7

的数量在父布局只需设置一个背景图片,然后设置ListView控件的颜色完全透明的出现:

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    style="@style/Main" android:background="@drawable/background"> 
    <ListView android:cacheColorHint="#00000000" .../> 
</LinearLayout> 
0

设置一个可绘制的背景array/arraylistadapter,如果长度为array/arraylist为0,然后将此图像添加到您的主布局。

3

阅读documentation of the ListActiviy。您可以定义一个视图,当列表为空且没有项目时,该视图将自动显示。空列表的视图必须有编号为android:id/empty

所以没有必要玩弄背景。