退出后如何保存CheckBox的状态?

时间:2012-11-26 08:04:14

标签: android checkbox sharedpreferences

在我的应用程序中,一个界面有一些checkBox,我希望在退出界面后,CheckBoxes应该保持状态。所以下次我输入它时可以显示我上次做了什么。我使用了{{1} } 为达到这个。

SharedPreferrences

但它不起作用。当我返回此页面时,所有复选框都显示“每个项目都未被选中”的状态。

如何实现我希望的功能?

2 个答案:

答案 0 :(得分:3)

在输入日期getSharedPreferences之后,您必须使用onCreate中的此数据初始化您的复选框状态,如下所示

// onCreate

SharedPreferences settings = getSharedPreferences("syllabus", 0);
Boolean isChecked = settings.getBoolean("cbx1_ischecked", false);
checkbox1.setChecked(isChecked );

答案 1 :(得分:0)

您的值会保存到SharedPreferences,但这并不意味着它们会自动恢复到相应的复选框。您需要从SharedPreferences阅读它们,并在活动开始时设置您的复选框,如@talhakosen所述。

此外,您不需要在每次更改时将值写入SharedPreferences。当用户离开您的活动时,即在onStop()方法中,将它们存储就足够了。