2011-06-06 63 views

回答

14

ListView - setEmptyView()有特殊的方法。你可以找到使用它的例子herehere

Upd:第二個鏈接現在不可用。這裏是從文章中引用:

當您以編程方式設置ListView的「空視圖」時,您最終可能會撓頭,因爲當列表爲空時,您的空視圖實際上不會出現。
如果發生這種情況,那麼您忘記了您必須手動將空視圖添加到視圖層次結構中,因此Cos ListView不會爲您執行此操作。儘管很明顯,當你考慮這個問題時,文檔沒有提到這個細節,谷歌搜索顯示至少有一個人遇到了問題。

這裏與這一切都太容易在數字4和5忘記行代碼...

TextView emptyView = new TextView(context); 
emptyView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 
emptyView.setText(「This appears when the list is empty」); 
emptyView.setVisibility(View.GONE); 
((ViewGroup)list.getParent()).addView(emptyView); 
list.setEmptyView(emptyView); 
7

的數量在父佈局只需設置一個背景圖片,然後設置ListView控件的顏色完全透明的出現:

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    style="@style/Main" android:background="@drawable/background"> 
    <ListView android:cacheColorHint="#00000000" .../> 
</LinearLayout> 
0

設置一個可繪製的背景array/arraylistadapter,如果長度爲array/arraylist爲0,然後將此圖像添加到您的主佈局。

3

閱讀documentation of the ListActiviy。您可以定義一個視圖,當列表爲空且沒有項目時,該視圖將自動顯示。空列表的視圖必須有編號爲android:id/empty

所以沒有必要玩弄背景。