【问题标题】:FragmentManager and ScreenOrientationChangingFragmentManager 和 ScreenOrientationChanging
【发布时间】:2014-06-11 08:17:10
【问题描述】:
我有 1 个活动、2 个纵向和横向布局以及 2 个片段。
纵向布局只有1个片段,横向有2个片段并排。
当我一开始以纵向模式运行活动时,fragmentmanager 说只有 1 个片段可以。然后我改变了方向,fragmentmanager 说有 2 个片段了,这也没关系。但即使我将方向从横向更改为纵向,fragmentmanager 仍然说有 2 个片段。问题是它是否需要在每个新的 oncreate 中删除它拥有的所有片段?如果活动使用纵向布局创建,如何每次只提供 1 个片段?
【问题讨论】:
标签:
android
android-layout
android-fragments
fragment
fragmentmanager
【解决方案1】:
我已经解决了这个问题。
我只在方向从横向变为纵向时删除第二个片段。
这里是一个例子:
@Override
public void onSaveInstanceState(Bundle state)
{
MySecondFragment secondFragment = (MySecondFragment) getFragmentManager().findFragmentById(R.id.secondFragment);
if (secondFragment!=null)
{
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.remove(secondFragment);
ft.commit();
}
super.onSaveInstanceState(state);
}