@android:id / empty显示空视图,但在ListFragment中存在数据时不显示ListView

时间:2014-06-15 14:02:59

标签: android android-layout android-fragments android-listview

我有一个具有以下布局的ListFragment

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingLeft="8dp"
    android:paddingRight="8dp" >

    <ListView
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:drawSelectorOnTop="false" >
    </ListView>

    <TextView
        android:id="@android:id/empty"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="No data" />

</LinearLayout>

最初创建ListFragment时,它没有数据,一切都很好。 “无数据”文本视图按预期显示。

但是当我添加内容/数据时,ListFragment仍保留在“无数据”视图中,并且不会切换到显示行。如果我取出XML的@android:id / empty部分,那么我可以完全看到行。这意味着它不是输入数据的问题,而是关于实际XML文件的问题(我相信)。

有没有办法解决这个问题?

更新: 添加到List时调用notifyDataSetChanged()解决了这个问题!

1 个答案:

答案 0 :(得分:0)

如果您将此代码添加到片段中,并在listview上设置适配器,该怎么办? list.setEmptyView(findViewById(android.R.id.empty))?