我正在開發一個應用程序。在一個頁面中有很多複選框。我想在退出頁面時保存CheckBox的狀態。我使用SharedPreferrences來保存。代碼是這樣的:無法在Android中保存CheckBox的狀態
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();
}
});
當我離開這個頁面,然後再回來。所有複選框狀態都不會被選爲默認值。爲什麼?
你在哪裏設置複選框? –
你是如何設置'SharedPreferences'中的複選框值的。簡單你的情況。 'onPause()'(存儲SharedPreferences中的值)和'onResume()'(從SharedPreferences中獲取值)有效。 – user370305
使用 myPrefs = getApplicationContext()。getSharedPreferences(「myPrefs」,MODE_WORLD_WRITEABLE)重新打開應用程序時獲取所有值。 並設置所有複選框值.. –