2012-08-29 59 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(); 
    } 
});