我需要顯示項目列表,這些項目是從數據庫中讀取的,並且有可能沒有項目,在這種情況下,我只想顯示TextView中顯示「沒有項目」,我想我可以通過使用相對佈局來實現這一點,列表和文本都位於父項的中心,它們是交替顯示的,但有沒有比這更好的方法?Android:如果ListView中沒有項目,那麼顯示TextView的最佳方式是什麼?
謝謝!
我需要顯示項目列表,這些項目是從數據庫中讀取的,並且有可能沒有項目,在這種情況下,我只想顯示TextView中顯示「沒有項目」,我想我可以通過使用相對佈局來實現這一點,列表和文本都位於父項的中心,它們是交替顯示的,但有沒有比這更好的方法?Android:如果ListView中沒有項目,那麼顯示TextView的最佳方式是什麼?
謝謝!
添加到Aleadam,比爾·莫特
您可以在任何時間AdapterView.setEmptyView(視圖V)一個AdapterView對象調用附加一個視圖你會喜歡用作空視圖。
的片段如下:
empty = (TextView)findViewById(R.id.empty1);
list = (ListView)findViewById(R.id.list1);
list.setEmptyView(empty);
請務必保持同一母公司內部的ListView和TextView的。
有關詳細說明,請參閱this
如果您使用的是ListActivity,那是默認行爲。如果不是,那麼您可以將ListView的可見性設置爲GONE,將TextView的可見性設置爲VISIBLE。
Aleadam是對的。下面是支持他的回答的一個示例XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
<ListView
android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
<TextView
android:id="@id/android:empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textColor="@drawable/red"
android:gravity="center_vertical|center_horizontal"
android:textStyle="bold"
android:text="@string/error_no_groups"
/>
</LinearLayout>
的Android開發者網站上的第一個教程介紹瞭如何做到這一點: http://developer.android.com/resources/tutorials/notepad/notepad-ex1.html
(請看下步驟4)
段: