[英]Java - Android SDK - savedInstanceState & onSaveInstanceState
我正在嘗試保存計數器的狀態(mCreate,mRestart ...等),並在onCreate()方法建立后加載它們。 由於某種原因,每次調用onCreate()時,它總是恢復為“ 0”。
// Use these as keys when you're saving state between reconfigurations
private static final String RESTART_KEY = "restart";
private static final String RESUME_KEY = "resume";
private static final String START_KEY = "start";
private static final String CREATE_KEY = "create";
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Has previous state been saved?
if (savedInstanceState != null) {
this.mCreate = savedInstanceState.getInt(CREATE_KEY);
this.mRestart = savedInstanceState.getInt(RESTART_KEY);
this.mStart = savedInstanceState.getInt(START_KEY);
this.mResume = savedInstanceState.getInt(RESUME_KEY);
}
}
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
savedInstanceState.containsKey(RESTART_KEY);
savedInstanceState.containsKey(RESUME_KEY);
savedInstanceState.containsKey(START_KEY);
savedInstanceState.containsKey(CREATE_KEY);
}
你應該打電話
savedInstanceState.putInt(RESTART_KEY, _your_key_);
在“ onSaveInstanceState”方法中
我檢查了這個 。 我在Bundle類中找不到任何函數“ containsKEY”。 但是我認為你應該使用
savedInstanceState.putString("restartkey",RESTART_KEY);
savedInstanceState.putInt("resumekey",RESUME_KEY);
savedInstanceState.putBoolean("startkey",START_KEY);
savedInstanceState.addString("createkey",CREATE_KEY);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.