1

Flow Image我面临一个与在 Android 中保存状态相关的奇怪问题。当我在 Android 中打开“不保留活动”选项时(来自开发人员选项)。然后,如果我从 Fragment A(由 Activity A 启动)启动 Activity B(它启动 Fragment B)。然后我的onSavedInstance方法在片段 A 中被调用,但在片段 A 的OnCreate方法中,我收到的捆绑包为空。

和上面的意思有时不一致(特意在安卓清空数据时转载)。

在方法 onSaveInstanceState 中的 Activity A 中,我使用以下 impl 保存了 Fragment A -:

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

同样在我的 onCreate 中,我尝试使用以下 impl 检索保存的 Fragment 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(作为登录是成功))。

4

0 回答 0