嘿,我想让我的复选框每次打开我的应用程序时保持相同的状态..我用'ja/nein'字符串,当我关闭串状态,然后再次打开我的应用程序...但我checkbox.setchecked(真/假)不工作..请帮助Sharedpreferences不起作用,当我关闭/打开应用程序时,复选框应该保持相同状态
public void changeVisitStatus(){
SharedPreferences visitStatus = mData.getVisitStatus();
SharedPreferences.Editor editor = visitStatus.edit();
if(visitStatus.getString(mData.getVisitKey(), "nein").equals("nein")){
editor.putString(mData.mVisitKey, "ja");
editor.commit();
mGUI.mBtnVisit.setChecked(true);
}
else{
editor.putString(mData.mVisitKey, "nein");
editor.commit();
mGUI.mBtnVisit.setChecked(false);
}
mGUI.getVisitStatus().setText(visitStatus.getString(mData.mVisitKey, "Nein"));
}
编辑:我尝试了另一种方式。 。我认为它会更好,但不工作以及..
public void changeVisitStatus(){
SharedPreferences visitStatus = mData.getVisitStatus();
SharedPreferences.Editor editor = visitStatus.edit();
if(visitStatus.getString(mData.getVisitKey(), "nein").equals("nein")){
editor.putString(mData.mVisitKey, "ja");
editor.putBoolean("isChecked", true);
editor.commit();
}
else{
editor.putString(mData.mVisitKey, "nein");
editor.putBoolean("isChecked", false);
editor.commit();
}
mGUI.getVisitStatus().setText(visitStatus.getString(mData.mVisitKey, "Nein"));
}
并把这一个到我的onCreate(捆绑s avedInstanceState)在我的活动
mGUI.mBtnVisit.setChecked(mData.getVisitStatus().getBoolean("isChecked", false));
默认值应该是false – eldjon 2014-09-01 10:32:29
@Krupa Patel谢谢!我尝试了你的代码,但仍然没有像我想象的那样工作...检查 - 'ja'...未检查 - '否'... :(( – PeterP 2014-09-01 13:27:20