我对以下方法中的两个不同的Bundle对象有疑问:
onSaveInstanceState(Bundle outState);
onCreate (Bundle savedInstanceState);
android系统如何知道onCreate方法中的bundle对象是程序员用来保存他/她的活动状态的对象而onCreate方法使用那个Bundle对象获取被系统杀死的活动状态?
Bundle对象是Activity类的成员之一和super.saveInstanceState(outState);
将Bundle保存在Activity的Bundle对象中,当一个活动调用onCreate(Bundle)方法时,该成员发送给onCreate方法?如何在onCreate()方法中使用Bundle?
请帮帮我......
答案 0 :(得分:0)
您在onSaveInstanceState
方法的捆绑包中保存的值将在onCreate
中发回给您。以此为例。
示例强>
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.setContentView(R.layout.lldr_activity);
mFilterCheckbox = (CheckBox) findViewById(R.id.checkbox_id);
if(savedInstanceState != null) {
mFilterCheckbox.setChecked(savedInstanceState.getBoolean("FILTER_STATE", false));
}
}
@Override
protected void onSaveInstanceState(Bundle outState)
{
super.onSaveInstanceState(outState);
outState.putParcelable("FILTER_STATE", mFilterCheckbox.isChecked());
}