当ListView中没有项目时,Android addHeaderView消失

时间:2011-02-14 00:57:26

标签: android listview

我正在使用addHeaderView将视图项添加到ListView的顶部。我还有一个TextView来显示一条消息,说明列表中没有任何项目。

这是布局:

<ListView android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"/>          

<TextView
    android:id="@android:id/empty"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:text="@string/list_empty"
    android:gravity="center"
    android:textAppearance="?android:attr/textAppearanceMedium" />

Java代码:

final ListView listView = getListView();
final View view = getLayoutInflater().inflate(R.layout.list_item_add,
            listView, false);
listView.addHeaderView(view, null, true);

当ListView中有项目时,会显示标题,但如果删除列表中的所有项目(标题视图除外),则标题视图将消失。

我希望列表视图在列表视图中可见,是否列表中有项目。

谢谢,

2 个答案:

答案 0 :(得分:36)

从布局中删除@android:id/empty视图,或覆盖/子类化适配器以从isEmpty()

返回false

答案 1 :(得分:5)

根据我的经验(SDK版本10):

在适配器中覆盖isEmpty()使其工作。

然后,可以选择删除@android:id / empty视图。