2011-01-30 41 views
1

我正在使用自定義的SimpleCursorAdapter。目前,如果在數據庫/光標中找不到任何條目,我的列表將保持爲空。現在,如果遊標/數據庫中沒有條目,我想在列表中顯示一條消息。我該如何處理這個事件?SimpleCursorAdapter處理空遊標

回答

3

如果你的ListView用XML表述,您可以添加一個特定的Android一個TextView:ID,如果列表爲空,如下它會自動顯示您的消息:

<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:爲此工作。

+0

對不起,我忘了提到:我知道這種可能性,但我的Activity是一個普通的`Activity`(沒有ListActivity)和一個嵌入式`ListView`。 – 2011-01-31 10:20:03

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!" /> 

然後在你活動的的onCreate()方法,調用setEmptyView()上你的listView對象。 ListView應該處理顯示/隱藏視圖對象,具體取決於列表是否爲空。

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