Flow Image我正面临一个与在Android中保存状态相关的奇怪问题 . 当我打开Android中的“不保持活动”选项(来自开发者选项) . 然后,如果我从片段A(由活动A启动)启动活动B(启动片段B) . 然后我的 onSavedInstance 方法在片段A中调用,但在片段A的 OnCreate 方法中,我收到的bundle为null .

以上是有时不一致的手段(清除Android数据时特别重现) .

在我的活动A in方法onSaveInstanceState中,我已将片段A保存在impl下面 - :

getSupportFragmentManager().putFragment(Bundle,FRAGMENT_TAG,instanceOFFragA);

同样在我的onCreate中我试图检索下面impl保存的片段A - :

if (savedInstanceState != null) {
    args = savedInstanceState;
    Fragment fragment = getSupportFragmentManager().getFragment(savedInstanceState, FRAGMENT_TAG);
    if (fragment != null && fragment.getClass().equals(FragA.class)) {
        instanceOfFragA = (FragA) getSupportFragmentManager().getFragment(savedInstanceState, FRAGMENT_TAG);
    }
}

但是在 OnCreate 我得到了片段C的实例(它基本上是一个注册片段,它有登录和注册按钮,登录点击将启动LoginActivity,它会启动LoginFragment . 如果登录成功,它会回调活动A,启动片段A(如登录成功)) .