2013-01-25 169 views
1

我有一個包含2名列表視圖的片段。我嘗試爲它們中的每一個設置EmptyView。 我試圖通過XML使用@ id/android:empty和通過代碼添加它們,兩次都得到忽略。多個列表視圖和空視圖

任何人得到了它的兩個列表視圖和diffent空視圖的工作?

回答

0

這是工作,你必須確保該View(爲空的狀態)添加到您的佈局,其中ListView是英寸

此外,Adapter爲您ListView必須nullisEmpty()必須爲真才能顯示空白視圖。

如果你有問題還是,張貼一些代碼。

+0

我做了這個,它不工作。這兩個listview都在LinearLayout中,這個textview應該是空視圖。 – Kitesurfer

0

我覺得@Leandros是在正確的軌道上,你需要確保每個列表的設置是否正確。這聽起來像是當你在同一個xml中定義了兩次@id/android:empty時,可能會有不匹配。你可能需要給他們唯一的id,然後把它們連接到java中。

你的XML可能是這個樣子:

... 
<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    > 
    <ListView 
     android:id="@+id/list1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     /> 
    <TextView 
     android:id="@+id/empty1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="List 1 is empty" 
     /> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    > 
    <ListView 
     android:id="@+id/list2" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     /> 
    <TextView 
     android:id="@+id/empty2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="List 2 is empty" 
     /> 
</LinearLayout> 
... 

然後在該片段中,你需要抓住的意見後再進行安裝。

... 
    ListView list1 = (ListView)findViewById(R.id.list1); 
    View empty1 = findViewById(R.id.empty1); 
    list1.setEmptyView(empty1); 

    ListView list2 = (ListView)findViewById(R.id.list2); 
    View empty2 = findViewById(R.id.empty2); 
    list2.setEmptyView(empty2); 
... 

如果你真的想要一個更復雜的空視圖,你可以在你的xml中包含另一個佈局而不是TextView。

... 
    <include layout="@layout/empty" 
     android:id="@+id/list1" 
     /> 
... 
    <include layout="@layout/empty" 
     android:id="@+id/list2" 
     /> 
... 

我希望這有助於!

+0

如何爲多個listview設置單個空視圖? –