在我的應用程序中,我只是使用複選框的一個基本設置,我希望自己像偏好設置一樣保持自己的喜好,除非沒有這樣做。我可以找到的所有偏好示例擴展了偏好性。從單個複選框創建偏好,但不擴展偏好活動
是否有可能只有一個基本的複選框,首選功能的邏輯爲它的首選功能?簡短的例子,將不勝感激。
在我的應用程序中,我只是使用複選框的一個基本設置,我希望自己像偏好設置一樣保持自己的喜好,除非沒有這樣做。我可以找到的所有偏好示例擴展了偏好性。從單個複選框創建偏好,但不擴展偏好活動
是否有可能只有一個基本的複選框,首選功能的邏輯爲它的首選功能?簡短的例子,將不勝感激。
您可以使用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
}
希望幫助:)
你可以訪問任何活動中的共享偏好...
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
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();
}
});
啊,直到我貼我的時候纔看到你的答案。哎呀。哈哈 –
@DrakeClarris沒問題:)我以前做過同樣的事情。 – Peter