SimpleCursorAdapter处理空光标

时间:2011-01-30 23:02:52

标签: android simplecursoradapter

我正在使用自定义的SimpleCursorAdapter。如果在数据库/游标中找不到任何条目,则目前我的列表保持为空。现在,如果游标/数据库中没有条目,我想在列表中显示一条消息。我该如何处理这个事件?

2 个答案:

答案 0 :(得分:5)

只需将您想要显示的视图放在XML中,并为其指定任何您喜欢的ID,例如:

    <ListView
        android:id="@+id/myList"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    <!-- view to be shown/hidden on empty list above -->
    <TextView
        android:id="@+id/emptyListElem"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"            
        android:gravity="center"
        android:text="Nothing to show!" />

然后在Activity的 onCreate()方法中,在listView对象上调用 setEmptyView()。 ListView应该处理显示/隐藏视图对象,具体取决于列表是否为空。

    View empty = findViewById(R.id.emptyListElem);      
    listView.setEmptyView(empty);

答案 1 :(得分:3)

如果您的ListView以xml表示,您可以添加一个具有特定android:id的TextView,如果列表为空,它将自动显示您的消息,如下所示:

<ListView android:id="@id/android:list"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="@color/white" />

        <TextView android:id="@id/android:empty"
           android:layout_width="fill_parent"
           android:layout_height="fill_parent"
           android:background="@color/white"
           android:text="No Data exist"
           android:textSize="16dip"
           android:textColor="@color/black"
           android:layout_gravity="center_horizontal"
           android:gravity="center_horizontal"/>

你必须使用@ id / android:empty才能工作。