【发布时间】:2013-02-04 21:56:43
【问题描述】:
我使用SlidingMenu 来显示侧抽屉(而不是标签)。现在,在SlidingMenuFragment 内部,有一个ListView,有6 行,每行相当于一个制表符。
当用户触摸 6 个项目中的一个时,内容视图应使用该项目的相应 Fragment 更新 Framelayout。
例如:
- 猫
- 狗
- 动物
当您选择猫时,SlidingMenu 消失,CatsFragment 应该出现在屏幕上,替换那里的旧片段。
问题:存储所有要在内容视图之间交换的片段的最佳方式是什么,同时考虑到方向变化? 每次我需要交换它时实例化一个新的片段?或者将它们全部实例化,将它们保存在列表中,然后从那里使用它们?
我做了什么:
- 每当片段需要交换时,我都会使用下面的代码。
-
为了存储片段列表以便于访问,我使用了 ArrayList。我将此 ArrayList 保存在 onRetainCustomNonConfiguration() 中并在方向更改后检索它,这样我就不会实例化另一个片段列表,但我不认为这是一个好主意。
getSupportFragmentManager() .beginTransaction() .replace(R.id.activity_main_framelayout, mFragmentsList.get(mCurrentFragmentPosition)) .commit();
【问题讨论】:
标签: android android-fragments android-fragmentactivity android-sliding