嘿,我想讓我的複選框每次打開我的應用程序時保持相同的狀態..我用'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