gpt4 book ai didi

Android - 当 parentActivityName 填充时,savedInstanceState 为空

转载 作者:搜寻专家 更新时间:2023-11-01 08:32:28 25 4
gpt4 key购买 nike

我有一个 Activity,它通过调用 startActivity() 调用另一个 Activity,一段时间后 onSaveInstanceState(Bundle outState) 被调用,我设置了一个 bool 值来恢复onCreate(Bundle savedInstanceState) 但是当调用此方法时 savedInstanceState 变为空。我在互联网上搜索了答案,但没有找到适合我的情况的答案。

这是 onSaveInstanceState 方法:

    @Override
protected void onSaveInstanceState(Bundle outState) {
outState = new Bundle();
outState.putBoolean(Constants.MAIN_ACTIVITY_STATE_RECREATED, true);
super.onSaveInstanceState(outState);
}

onCreate:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle(R.string.activity_main);
if (savedInstanceState!=null && savedInstanceState.getBoolean(Constants.MAIN_ACTIVITY_STATE_RECREATED, false)){
return;
}
//DO SOME STUFF
}

这是我的 Activity 的 AndroidManifest 声明:

   <activity android:name=".MainActivity"
android:screenOrientation="portrait"
android:configChanges="orientation|keyboardHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>

<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>

这是调用的 Activity :

       <activity android:name=".PhotoUserActivity"
android:screenOrientation="portrait"
android:configChanges="orientation|keyboardHidden"
android:parentActivityName=".MainActivity">
</activity>

如果我从第二个 Activity 的声明中删除 parentActivityName 并自己制作“后退按钮”,则永远不会调用第一个 Activity 的 onCreate。

感谢您的帮助!

最佳答案

您不需要初始化 outState 变量,否则您将无法传递值。

    @Override
protected void onSaveInstanceState(Bundle outState) {
//outState = new Bundle(); <-- Remove this
super.onSaveInstanceState(outState);
outState.putBoolean(Constants.MAIN_ACTIVITY_STATE_RECREATED, true);
}

outState Bundle 由框架提供,通过初始化它,例如new Bundle() 如果前一个 Bundle 包含任何值,您可能会丢弃一些值。

始终建议在添加新值之前先调用 super.onSaveInstanceState(Bundle outState)

关于Android - 当 parentActivityName 填充时,savedInstanceState 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39541769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com