我正在开发一个 Android 应用程序。我在活动中使用 onSaveInstanceState 事件进行测试。但它没有像我预期的那样工作,因为当我在 onCreate 事件中检索它时,值字符串总是空的。
这是我的活动
@Override
public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
super.onSaveInstanceState(outState, outPersistentState);
outState.putString("message","Hello world!");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(savedInstanceState!=null)
{
Toast.makeText(getBaseContext(),savedInstanceState.getString("message"),Toast.LENGTH_SHORT).show();
//Log.i("DATA_FROM_STATE",savedInstanceState.getString("message"));
}
}
当我运行活动并改变方向时,它总是在烤空消息。当我测试取消注释 Log 行时,它给了我错误,因为数据字符串为空或 null。为什么它不工作?如何正确保存和检索?