0

我有 1 个活动、2 个纵向和横向布局以及 2 个片段。

在纵向布局中只有 1 个片段,在横向布局中有 2 个片段并排。

当我一开始以纵向模式运行活动时,fragmentmanager 说只有 1 个片段可以。然后我改变了方向,fragmentmanager 说有 2 个片段了,这也没关系。但即使我将方向从横向更改为纵向,fragmentmanager 仍然说有 2 个片段。问题是它是否需要在每个新的 oncreate 中删除它拥有的所有片段?如果活动使用纵向布局创建,如何每次只提供 1 个片段?

4

1 回答 1

0

我已经解决了这个问题。

我只在方向从横向变为纵向时删除第二个片段。

这里有一个例子:

@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);

}
于 2014-06-11T12:09:44.783 回答