2012-08-29 57 views

回答

0

您可以使用SharedPreferences自己手动保存偏好设置。然后,您可以保存/载入设定一次的复选框改变

CheckBox checkBox = (CheckBox) findViewById(R.id.checkbox); 
checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() 
{ 
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) 
    { 
     if (isChecked) 
     { 
      // get the preference manager 
      SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 

      // get the editor 
      SharedPreferences.Editor editor = prefs.edit(); 

      // put the new setting 
      editor.putBoolean(PREF_NAME, true); 

      // IMPORTANT - save the new settings 
      editor.commit(); 

     } 
     } 
    } 
}); 

然后你可以检索你设置任何你喜欢使用

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); 
if (prefs.getBoolean(PREF_NAME, false)) { 
    // setting dependent code goes here 
} 

希望帮助:)

+0

啊,直到我贴我的时候才看到你的答案。哎呀。哈哈 –

+0

@DrakeClarris没问题:)我以前做过同样的事情。 – Peter

0

你可以访问任何活动中的共享偏好...

SharedPreferences preferences = getSharedPreferences(NameAsString, Context.MODE_PRIVATE); 
SharedPreferences.Editor editor = preferences.edit(); 
editor.putBoolean(keyAsString, value); 
editor.apply(); 

请注意,editor.apply()是异步ronous并且只能在GB和以上,使用editor.commit()为小于android 2.3

0
CheckBox checkBox = (CheckBox) findViewById(R.id.checkbox1); 
checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() { 
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
     SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 
     SharedPreferences.Editor editor = prefs.edit(); 
     editor.putBoolean("checkbox_key", isChecked); 
     editor.commit(); 
    } 
});