onSharedPreferenceChanged编辑存储值?

问题描述 投票:0回答:1

如果我在PreferenceActivity中有一个onSharedPreferenceChanged事件,即检查是否检查了CheckBoxPreference并在其他某个Preference上设置了setEnabled,那么其他Preference的实际值是否会在SharedPreferences中更改,或者我是否必须手动设置它们?

我有的是:

 public void onSharedPreferenceChanged(Settings sharedPreferences, String key) 
 {
      CheckBoxPreference cbUpdatesEnabled = (CheckBoxPreference)getPreferenceScreen().findPreference("updatesenabled");

      CheckBoxPreference cbVibrate = (CheckBoxPreference)getPreferenceScreen().findPreference("vibrate");

      cbVibrate.setEnabled(cbUpdatesEnabled.isChecked());
 }

切换是否在UI中启用或禁用“振动”复选框,但是我还必须使用:

SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("vibrate", cbUpdatesEnabled.isChecked());
editor.commit();

或者是否有其他更新SharedPreferences的方法?它看起来不像是根据是否启用而自动保存。

android preferences sharedpreferences
1个回答
0
投票

如果使用PreferenceActivity,则不必手动更新首选项值。有关更多信息,请查看以下教程。

Click here

Click here

© www.soinside.com 2019 - 2024. All rights reserved.