Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android活动生命周期_Java_Android_Android Activity - Fatal编程技术网

Java Android活动生命周期

Java Android活动生命周期,java,android,android-activity,Java,Android,Android Activity,关闭活动后,我需要保存过滤器。我正在使用onSaveInstanceState()来实现它 protected void onSaveInstanceState(Bundle savedInstanceState) { super.onSaveInstanceState(savedInstanceState); savedInstanceState.putInt("age", sbAge.getProgress()); savedInstanceState.putInt(

关闭
活动
后,我需要保存过滤器。我正在使用
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();
}
if (savedInstanceState != null)
{
    savedInstanceState.getInt("age");
    savedInstanceState.getInt("sex");
    savedInstanceState.getInt("status");
}
onCreate()
方法中:

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();
}
if (savedInstanceState != null)
{
    savedInstanceState.getInt("age");
    savedInstanceState.getInt("sex");
    savedInstanceState.getInt("status");
}
但它不起作用。 当我关闭并重新启动活动时,只显示空视图

onClick()

当操作系统终止您的
活动时,会调用
onSaveInstanceState()
(例如回收资源)。当您显式调用
finish()
时,将不会调用它

如果您仍然希望保持您的价值观,可以使用

(在旁注中,不要显式调用
onStop()