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