我一直試圖在其他activites中使用/保存複選框的布爾值,但沒有多少運氣。在其他Activites中使用CheckBox值Android
我知道你必須使用SharedPreferences,但是我無法正確設置它。我已經做了首類具有
private static final String OPTION_PREF = "my.main.project";
private SharedPreferences optionPreferences;
private Editor optionEditor;
private boolean checkbox;
public Preferences(Context context)
{
this.optionPreferences = context.getSharedPreferences(OPTION_PREF, Activity.MODE_PRIVATE);
this.optionEditor = optionPreferences.edit();
}
public boolean getChecked()
{
return optionPreferences.getBoolean("is_checked", checkbox);
}
public void saveChecked(boolean checkBox)
{
optionEditor.putBoolean("save_check_pref", checkBox);
optionEditor.commit();
}
然後在例如選項菜單,
boolean veggieChecked;
super.onCreate(savedInstanceState);
setContentView(R.layout.options);
Preferences pref;
pref = new Preferences(getApplicationContext());
veggieChecked = pref.getChecked();
final CheckBox checkBox = (CheckBox) findViewById(R.id.vegetarian);
if(checkBox.isChecked())
veggieChecked = true;
pref.saveChecked(veggieChecked);
我真的不能看到我在做什麼錯了,因爲我是新來的Android和沒有使用sharedpreferences之前..任何幫助將不勝感激!
如果你想使用'SharedPreferences',你需要調用'Context.getSharedPreferencs()'再在選項菜單,然後調用'得到() ',而不是做'checkbox.isChecked()'。 – gobernador 2012-03-24 15:04:05