我有一个Activity,让我们说MainActivity。
在MainActivity的onCreate中,我正在加载FragmentOne。
FragmentOne
有一个ListView
,在点击某个项目时,会在FragmentTwo
中加载MainActivity
。
现在我的问题是,当MainActivity
显示FragmentTwo
并且onCreate
MainActivity
被调用时,比如更改方向后,等MainActivity
再次加载FragmentOne
{1}}。
同一流程中的另一个问题是OptionsMenu
,每次创建Fragment时,它都会多次附加菜单。现在我保持一面旗帜,并在savedInstance
的帮助下。还有其他办法吗?
请注意,我正在开发sdk ,因此我希望在Activity 中使用最少量的代码。
提前致谢。
答案 0 :(得分:0)
检查Fragment.setRetainInstance(boolean):
public void setRetainInstance(boolean retain)
控制是否在活动重新创建期间保留片段实例 (例如从配置更改)。这只能用于后堆栈中不具有>的片段。如果设置,则片段生命周期将略有不同>重新创建活动时:
onDestroy()将不会被调用(但onDetach()仍然会被调用,因为>片段正在与其当前活动分离。 因为片段没有被重新创建,所以不会调用onCreate(Bundle)。 仍将调用onAttach(Activity)和onActivityCreated(Bundle)。
答案 1 :(得分:0)
我在单个活动中为多个片段创建了demo。 MultiFragment
很容易使用,您必须传递要将片段放在getContentId中的布局ID。
现在,只要您想在活动或片段中加载片段,只需致电loadFragment或loadFragmentForResult。