java为什么保存在onSaveInstanceState()中的数据都返回null
我在onSaveInstanceState()方法上保存一个带有“message”键的字符串,以便在onCreate()方法中简单地显示一个toast,但它不起作用。我做错了什么
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initComponents();
onClickLogin();
if(savedInstanceState!=null){
String message = savedInstanceState.getString("message");
Toast.makeText(this, message, Toast.LENGTH_LONG).show();
}
}
@Override
public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
super.onSaveInstanceState(outState, outPersistentState);
outState.putString("message", "This is my message to be reloaded");
}
我已经尝试过在onSaveInstanceState()中切换两条语句,如下所示,但得到了相同的结果
@Override
public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
outState.putString("message", "This is my message to be reloaded");
super.onSaveInstanceState(outState, outPersistentState);
}
# 1 楼答案
您必须重写另一个没有
PersistableBundle outPersistentState
的方法