我正在尝试创建首选项菜单,以允许用户更改应用程序的音量/通知设置。我已经在PreferenceChangeListener中遇到错误。 (见下文)。我试图通过调用ApplySettings()来使用PreferenceChangeListener来实现onSharedPreferenceChangeListener。这是公认的做法吗?
private class PreferenceChangeListener implements onSharedPreferenceChangeListener{
@Override
public void onSharedPreferenceChanged(SharedPreferences SP, String key){
ApplySettings();
}
}
public void ApplySettings(){
String notifications_setting = SP.getString(prefUpdateFrequency, Off);
}
在“内部设置”中,列表首选项选项的键为“prefUpdateFrequency”。
我已将值存储在arrays.xml中:
<resources>
<string-array name="updateNotifications">
<item name="0">Off</item>
<item name="1">Silent</item>
<item name="2">Vibrate Only</item>
<item name="3">Noise Enabled</item>
</string-array>
<string-array name="updateNotificationValues">
<item name="0">Off</item>
<item name="1">Silent</item>
<item name="2">Vibrate Only</item>
<item name="3">Noise Enabled</item>
</string-array>
答案 0 :(得分:0)
另一种方法是将设置值存储在sharedPreference中;那么您可以在活动开始时加载首选项。
您可以查看:http://developer.android.com/training/basics/data-storage/shared-preferences.html