カスタム SimpleCursorAdapter を使用しています。現在、データベース/カーソルにエントリが見つからない場合、リストは空のままです。カーソル/データベース内にエントリがない場合、リスト内にメッセージを表示したいと思います。このイベントを処理するにはどうすればよいですか?
2602 次
2 に答える
6
表示したいビューを 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);
于 2012-02-15T16:19:29.680 に答える
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 を使用する必要があります。
于 2011-01-30T23:29:46.477 に答える