Android 如何使用Kotlin在OnPreferenceChangeListener上保存新值?
我知道在Android 如何使用Kotlin在OnPreferenceChangeListener上保存新值?,android,kotlin,Android,Kotlin,我知道在OnPreferenceChangeListener上为true之前,没有保存新值 我希望手动保存,我该怎么办?谢谢 fun setPreference(){ val chAutoRestore = preferenceManager.findPreference(getString(R.string.IsAutoRestore)) as CheckBoxPreference chAutoRestore.onPreferenceChangeListen
OnPreferenceChangeListener
上为true之前,没有保存新值
我希望手动保存,我该怎么办?谢谢
fun setPreference(){
val chAutoRestore = preferenceManager.findPreference(getString(R.string.IsAutoRestore)) as CheckBoxPreference
chAutoRestore.onPreferenceChangeListener = Preference.OnPreferenceChangeListener { preference, newValue ->
logError( "Pref " + preference.key + " changed to " + newValue.toString())
//Save newValue
startOrStopScheduleRestore(mContext)
true
}
}
它将自动以xml格式存储在共享首选项中:
<EditTextPreference
android:defaultValue="@string/default_value"
android:key="YOUR_KEY"
android:title="@string/title"/>
这个代码对我有用
val notificationPreference: SwitchPreferenceCompat? = findPreference("notifications")
notificationPreference!!.onPreferenceChangeListener =
Preference.OnPreferenceChangeListener { preference, newValue ->
// Manually save to Prefs
Utilities().putPrefBoolean(preference.key, newValue as Boolean)
// Reflect the newValue to Preference?
true
}
val notificationPreference: SwitchPreferenceCompat? = findPreference("notifications")
notificationPreference!!.onPreferenceChangeListener =
Preference.OnPreferenceChangeListener { preference, newValue ->
// Manually save to Prefs
Utilities().putPrefBoolean(preference.key, newValue as Boolean)
// Reflect the newValue to Preference?
true
}