Listview setEmptyView无法正常工作

时间:2014-05-13 14:20:09

标签: android listview android-listview

我在android中有这个listview。现在我把textview设置为我的listview的emptyview,所以只有当listview为空时它才会显示。问题甚至列表视图都有数据。没有数据仍在显示。但经过7件或8件之后它就会消失。为什么呢?

    

<de.timroes.android.listview.EnhancedListView
        android:id="@+id/data_list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#C0C0C0"
        android:minHeight="30dp" >
    </de.timroes.android.listview.EnhancedListView>

    <TextView
        android:id="@android:id/empty"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="10dp"
        android:text="No Data"
        android:textSize="20sp" />

</LinearLayout>

我设定它的方式

lv = (EnhancedListView) view.findViewById(R.id.data_list);
lv.setAdapter(adapter);
lv.setEmptyView(emptyText);

示例输出

enter image description here

1 个答案:

答案 0 :(得分:4)

首先,您的TextView应具有GONE的初始可见性:

android:visibility="gone"

其次,名称

android:id="@android:id/empty"

保留给ListActivity / ListFragment,因此由Android本身自动管理

所以,我使用了一个类似的名字......这是不同的

android:id="@+id/txtEmpty"

最后但并非最不重要的是,在我的代码中我做了:

// Set the empty TextView
txtEmpty = (TextView) v.findViewById(R.id.txtEmpty);
txtEmpty.setText(res.getString(R.string.no_data));
elv.setEmptyView(txtEmpty);

将elv作为我的ExpandableListView的名称(在您的情况下为ListView)