1

即使 ListView 中有记录,ListView 中的 emptyView 也会始终显示。我正在使用 SherlockFragment 并显示 ListView 代码如下:

ViewGroup vg = (ViewGroup) getActivity().getLayoutInflater().inflate(
                R.layout.header_file, hotelListView, false);
        hotelListView.addHeaderView(vg, null, false);
        hotelListView.setOnItemClickListener(this);
        hotelListView.setEmptyView(view.findViewById(R.id.empty));

和xml:

 <ListView
        android:id="@+id/hotel_list_view"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:cacheColorHint="#00000000"
        android:paddingLeft="8dp"
        android:persistentDrawingCache="scrolling"
        android:scrollingCache="false" >
    </ListView>

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

因此,在我从服务器检索结果后,TextView 仍显示在屏幕上,我可以在屏幕上看到 No Results 文本,同时列表中有项目。我需要更改什么以便 @android:id/empty 仅在列表中没有元素时才显示?谢谢

4

1 回答 1

1

不看源头,我能想到 3 个可能的错误,

  1. ListView 没有设置适配器。

  2. 如果重新实现了适配器,是否正确地重新实现了 getCount() 方法?

  3. 你必须调用 notifyDatasetChanged() 吗?从服务器获取内容后。

于 2013-03-18T10:13:24.793 回答