Android 在改变方向之前需要移除碎片,但不会消失。为什么?

Android 在改变方向之前需要移除碎片,但不会消失。为什么?,android,android-fragments,Android,Android Fragments,当我的应用程序处于横向时,我需要一个额外的片段来显示 当应用程序更改回纵向时,片段不会消失并重新创建自己。为什么? 下面是作为应用程序启动点的FragmentActivity生命周期方法的序列 FragmentActivity onPause FragmentActivity onDestroy EditFragment onDestroy EditFragment onCreate FragmentActivity onCreate FragmentActivity onResume 为了最

当我的应用程序处于横向时,我需要一个额外的片段来显示

当应用程序更改回纵向时,片段不会消失并重新创建自己。为什么?

下面是作为应用程序启动点的FragmentActivity生命周期方法的序列

FragmentActivity onPause
FragmentActivity onDestroy
EditFragment onDestroy
EditFragment onCreate
FragmentActivity onCreate
FragmentActivity onResume
为了最初添加片段,我在onCreate of FragmentActivity中使用以下代码

@Override
protected void onCreate(Bundle s) {
if(Util.isLandscape(Main.this) && mEditFragment == null) {
    mEditFragment = new EditFragment();
    mFragTrans = getSupportFragmentManager().beginTransaction();
    mFragTrans.replace(R.id.main_edit_frag, mEditFragment);
    mFragTrans.addToBackStack(null);
    mFragTrans.commit();
}
以及碎片活动暂停时使用的代码:

@Override
protected void onPause() {
    super.onPause();
    if(mEditFragment !=null) {
        mFragTrans = getSupportFragmentManager().beginTransaction();
        mFragTrans.remove( mEditFragment);
        mFragTrans.commit();
    }

如果分离片段会发生什么?这不重要,请参见:如果强制立即执行事务getFragmentManager().executePendingTransactions();,会发生什么;?(在你承诺之后)事实上我解决了它。我相信被推到后面的碎片仍然存在。我有最后的办法去尝试,但你解决了它。。。它是“用null替换片段”。