2011-01-30 22 views
1

私はカスタムSimpleCursorAdapterを使用しています。現在データベース/カーソルにエントリが見つからない場合、私のリストは空のままです。今、カーソル/データベース内にエントリがない場合、リスト内にメッセージを表示したいと思います。このイベントをどのように処理できますか?空のカーソルを処理するSimpleCursorAdapter

答えて

3

あなたのListViewをXMLで表現されている場合は、あなたが特定のアンドロイドとの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

は申し訳ありませんが、私がいることを言及するのを忘れました。 –

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は、リストが空であるかどうかに応じて、ビューオブジェクトの表示/非表示を処理する必要があります。私はこの可能性を知っているが、私の活動が埋め込ま `ListView`と、通常の` Activity`(なしListActivity)です:

View empty = findViewById(R.id.emptyListElem);  
    listView.setEmptyView(empty); 
関連する問題