如何设置listview背景如下。 我想在记录数0时出现
答案 0 :(得分:14)
ListView
- setEmptyView()
中有特殊方法。您可以找到使用它的示例here或here。
更新:第二个链接现在不可用。以下是文章引用:
当您以编程方式设置ListView的“空视图”时,您最终可能会在列表为空时忘记为什么空视图实际上不显示。 如果发生这种情况,那么您忘记了必须手动将空视图添加到视图层次结构中,因为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);
答案 1 :(得分: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>
答案 2 :(得分:3)
阅读documentation of the ListActiviy。您可以定义一个视图,该视图将在列表为空且没有项目时自动显示。空列表的视图必须具有标识android:id/empty
。
所以不需要玩背景。
答案 3 :(得分:0)
答案 4 :(得分:0)
在将array
/ arraylist
传递到adapter
之前,如果array
/ arraylist
的长度为0,则需要先检查,然后将此图片添加到您的主要布局。