23

我有一個活動,其菜單項左側是textViews。當用戶選擇其中一個textView時,它將在活動區域​​的其餘部分放置一個listView,佔用屏幕的另外2 \ 3。當用戶在頁面的左側菜單上觸摸不同的textView時,它將打開不同的相應的項目列表視圖。ListFragment在ListView或普通片段上的優勢

我正在考慮爲此目的在屏幕上放置一個大的列表視圖。然而,另一種方式是在活動中不使用常規listView,我可以在其中放置一個列表片段並在片段之間切換。

第三個選擇是放入一個片段,並在該片段內放置一個listView。我從來沒有使用過ListFragment。

考慮到沒有方向改變,這將是最好的計劃嗎?該活動將被鎖定在垂直/縱向方向。這將在平板電腦上運行,而不是在手機等較小的設備上使用。

我不知道我是否需要使用裝載機,因爲列表將不會很長,列表的內容將僅爲文本。

使用listFragment比其他選擇有什麼好處嗎?

的三種選擇此項活動:與ListView

  • 活動與ListFragment它與它片段具有ListView inside of the Fragment`

  • 活動

    1. 活動

  • 回答

    13

    A ListFragment基本上是一個稍微專門化的Fragment,它通過提供一些便利方法(如getListView(),使得您可以更容易地處理Fragment的佈局中存在的ListView,因此您無需自己搜索該小部件,也無需獲取適配器ListView等)。如果您需要FragmentListView,請使用ListFragment。所以最後是關於ListViewListFragment之間的決定。

    在兩種選擇之間,考慮到您的情況,我會簡單地使用ListView,因爲它很簡單。 Loader的需求不成問題,因爲您可以使用ActivityLoaderManager作爲ListView

    但是,您沒有提及如何處理BACK按鈕。如果您希望向用戶提供通過他的選擇進行導航的可能性,請使用Listfragment從系統中免費獲取。

    +0

    您是否有遺留代碼與選項3是值得重新考慮的便利方法? – Martin

    +1

    @Martin在包含一個列表和一個ListFragment的片段之間切換不應該太困難。這完全取決於你,如果我已經有了一個正常的片段,我不會感到困擾。 – Luksprog