2014-12-11 63 views
1

我有些懷疑。我正在嘗試使用列表創建應用程序。我做了一個,但用ListAdapter擴展了BaseAdapter和ListView。處理空列表 - 最好使用ListFragment或Fragment + ListView?

然後我意識到還有ListFragment。通過這些片段,您可以輕鬆地顯示消息「空列表」。例如,我想要做的是項目列表,並且每個項目都與此single_item.xml相關聯。我已經看到了幾個例子,但是他們和我之間的差異並不是很好的選擇。

哪個是更新的方法來做到這一點,並具有最佳的性能? ListFragment比ListAdapter擴展BaseAdapter更好嗎?

在此先感謝。

+0

'ListFragment比ListAdapter更好嗎?嗯,勺子比球更好嗎?你是否指ListFragment的ListView vs ListView?仍然很難比較 – Selvin 2014-12-11 00:25:46

回答

2

ListFragment本質上提供了與其佈局包含單個ListView的片段進行交互的快捷方式(默認情況下沒有其他內容)。就我所知,ListFragment沒有提供任何性能優勢。如果您想了解更多關於班級功能的信息,可以查看源代碼here

我的首選是避免ListFragments - 如果屏幕的佈局需要改變,我發現它們不靈活,再加上它們使用稍微不同的命名API,可以有點複雜的記住(onListItemClick,vs onItemClick回調的例如標準AdapterView)。

Here is a good article描述如何處理空的ListViews。您正在尋找ListView的setEmptyView(View)方法。這允許您指定當ListView爲空時顯示的視圖。

+0

,所以如果我想列出一個列表,並且它是空的。我仍然使用我的ListAdapter擴展BaseAdapter和ListView +一個片段來顯示消息該列表是空的? (對不起,我的英文不好) – BlackCode 2014-12-11 10:07:01

+1

是的,這絕對有可能。 [這是一篇很好的文章](http://cyrilmottier.com/2011/06/20/listview-tips-tricks-1-handle-emptiness/),它描述瞭如何處理空的ListViews。您正在尋找ListView的['setEmptyView(View)'](http://developer.android.com/reference/android/widget/AdapterView.html#setEmptyView(android.view.View))方法。也將此評論複製到主要答案中。 – stkent 2014-12-11 13:49:23

+0

但是這個例子與ViewStub有關。這與寬度碎片一樣嗎? – BlackCode 2014-12-11 14:52:00

相關問題