根據ListActivity
documentation,當定義了@android:id/empty
時,它將顯示一條消息而不是ListView
,表示列表中沒有數據。我的Activity子類是我編寫的一個自定義Activity,因此它不能簡單地繼承自己的ListActivity。如何在不是ListActivity的Activity中模擬@android:id/empty的行爲?
我試圖在xml中這樣做來試圖模擬這種行爲。這是我目前的佈局:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:text="@string/titleReviewData"
android:gravity="center" android:textSize="24sp"
android:layout_margin="10dp" />
<ListView android:id="@+id/reviewList"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="2" />
<TextView android:id="@android:id/empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:text="No data" />
<Button android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="@string/textReviseButton"
android:onClick="revise" />
<Button android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="@string/textSubmitButton"
android:onClick="submit" />
</LinearLayout>
佈局是爲了顯示一個TextView
標題,其下的ListView
或空消息,並堅持佈局的最下面的兩個鈕釦。不幸的是,添加空的消息不能正確呈現。
我現在在相應的活動中唯一的代碼是設置適配器@id/reviewList
和大量代碼來打開對話框的代碼。我該怎麼做呢?