簡體   English   中英

Java-Android SDK-savedInstanceState和onSaveInstanceState

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM