导航抽屉 - 每次创建新的碎片实例或简单地“刷新”数据

时间:2013-08-15 01:52:53

标签: java android navigation fragment drawer

我对自己有一点争论,我想与其他人核实哪些实施在更好的实践方面是“最好的”。

就像一个基本的导航抽屉应用程序一样,我的一个主NavDrawerActivity包含NavDrawer本身,以及我后来替换的Frame Layout。然后,我还有一个名为ListsFragment的片段,它基本上包含来自简单String ArrayList的数据的ListView。因此,这个ListsFragment 总是包含一个基本的字符串列表(意思是,我只需要一个fragment.java文件)。

现在,在Google的导航抽屉示例中,他们有类似的东西,他们有一个片段,他们只是用新内容替换(替换为字面意思,FragmentManager.replace(等))。这意味着每次从NavDrawer中选择项目时都会重新实例化新的Fragment。 这也是我现在正在做的事情。

但我一直在考虑这样做是否“凌乱”。这样做的清洁方式不会是:

在Fragment中创建一个名为loadList(ArrayList<String> list)的方法,它基本上用消耗列表替换Fragment中ListView的内容。

毕竟,这不是比每次实例化新片段更“便宜”的操作成本吗?当我可以通过单个Fragment变量“刷新”数据时,我会维护吗?

所以,我的问题是:哪个更好?或者,如果“更好”太主观:更重要的是,“Java / Android方式”。看到你的想法真是太棒了。谢谢!

TLDR:哪个更好:每次从NavDrawer中选择一个新项目时实例化一个新片段,或者只是通过公共loadData方法加载新数据。

编辑:对于想要查看Google的NavDrawer示例的人,可以在此处下载示例http://developer.android.com/training/implementing-navigation/nav-drawer.html

0 个答案:

没有答案