如何退出后保存复选框的状态? [英] How to save state of CheckBox after exit?
问题描述
在我的应用程序,一个接口有一定的复选框,我希望在我退出界面,复选框应保持state.So下一次我进入它可以显示我所做的最后再寄一次使用了共享preferrences
来实现这一目标。
In my app ,one interface has some checkBoxes,I wish after I exit the interface, the CheckBoxes should maintain the state.So next time I enter it can show what I have done last time.I have used SharedPreferrences
to achieve this.
checkbox1.setOnCheckedChangeListener(new OnCheckedChangeListener(){
public void onCheckedChanged(CompoundButton arg0, boolean isChecked) {
// TODO Auto-generated method stub
Editor editor = getSharedPreferences("syllabus", 0).edit();
editor.putBoolean("cbx1_ischecked", isChecked);
editor.commit();
}
});
checkbox2.setOnCheckedChangeListener(new OnCheckedChangeListener(){
public void onCheckedChanged(CompoundButton arg0, boolean isChecked) {
// TODO Auto-generated method stub
Editor editor = getSharedPreferences("syllabus", 0).edit();
editor.putBoolean("cbx2_ischecked", isChecked);
editor.commit();
}
});
但它不工作。当我回到这个页面,所有复选框显示状态每一个项目处于未选中状态。
But it doesn't work. when I return to this page, All checkBox show state that "every item is unselected ".
我如何能实现我想功能?
How can I realize the function I wish?
推荐答案
在认沽日期getShared preferences,你必须与此数据的onCreate初始化你checkboz状态,如下图所示。
After put date getSharedPreferences, You have to initialize your checkboz state with this data in onCreate, like below
//的onCreate
// onCreate
SharedPreferences settings = getSharedPreferences("syllabus", 0);
Boolean isChecked = settings.getBoolean("cbx1_ischecked", false);
checkbox1.setChecked(isChecked );
这篇关于如何退出后保存复选框的状态?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!