嘿伙计们,我想让我的复选框在每次打开我的应用程序时都保持在相同的状态。我用 'ja/nein' 字符串得到这个,当我关闭并再次打开我的应用程序时,字符串状态...但是我的复选框.setchecked(true/false) 不起作用..请帮忙
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(Bundle savedInstanceState)
mGUI.mBtnVisit.setChecked(mData.getVisitStatus().getBoolean("isChecked", false));