【问题标题】: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);
    
    }
    

    【讨论】:

      猜你喜欢
      • 2019-02-14
      • 1970-01-01
      • 2014-06-24
      • 2021-04-09
      • 2012-06-14
      • 1970-01-01
      • 1970-01-01
      • 2021-01-07
      • 2013-07-12
      相关资源
      最近更新 更多