簡體   English   中英

Android活動生命周期

[英]Android Activity Life-cycle

關閉Activity后,我需要保存過濾器。 我正在使用onSaveInstanceState()實現它。

protected void onSaveInstanceState(Bundle savedInstanceState) {
    super.onSaveInstanceState(savedInstanceState);
    savedInstanceState.putInt("age", sbAge.getProgress());
    savedInstanceState.putInt("age", spMyStatus.getSelectedItemPosition());
    if(rbMaleMe.isChecked())
        savedInstanceState.putInt("sex", 1);
    else if(rbFemaleMe.isChecked())
        savedInstanceState.putInt("sex", 2);
}
`

onRestoreInstanceState()方法中:

protected void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
    sbAge.setProgress(savedInstanceState.getInt("age"));
    spMyStatus.setSelection(savedInstanceState.getInt("status"));
    if(savedInstanceState.getInt("sex") == 1)
        rbMaleMe.isChecked();
    else if (savedInstanceState.getInt("sex") == 2)
        rbFemaleMe.isChecked();
}

onCreate()方法中:

if (savedInstanceState != null)
{
    savedInstanceState.getInt("age");
    savedInstanceState.getInt("sex");
    savedInstanceState.getInt("status");
}

但這不起作用。 關閉並重新啟動活動后,僅顯示空白視圖。

onClick()

switch (v.getId()) { 
    case R.id.btnSaveInfo: 
        onStop(); 
        finish(); 
        break;
}

當操作系統殺死您的Activity (例如,回收資源)時,將調用onSaveInstanceState() )。 當您顯式調用finish()時,不會調用它。

如果您仍想保留您的值,則可以使用SharedPreferences

(在一個側面說明, onStop()明確)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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