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