【发布时间】:2019-07-22 06:44:56
【问题描述】:
我在更新ListPreference 的值时遇到问题。
ListPreference.setDefaultValue() 和 ListPreference.setIndexValue() 似乎不是公认的方法。
我想在他们的好友ListPreferences 之一被点击时“重置”所有其他ListPreferences,以便在任何给定时间只有其中一个具有有效值。
此外,XML 文件中的android:defaultValue="1" 似乎也不起作用,至少在视图中没有。
这只会改变实际值吗?它不检查第一个值吗?
ListPreferences 的行为与他们应该的行为不同,所以我确信 xml 文件是好的。
我用的是androidx,已经实现androidx.preference:preference:1.0.0
Class SettingsActivity : AppCompatActivity() {
Class SettingsFragment : PreferenceFragmentCompat() {
override fun onPreferenceCreated() {
setPreferencesFromResource(R.xml.prefs)
}
fun onCreate(savedInstances) {
val listPreference1 = findPreference(listpreference1)
val listPreference2 = findPreference(listpreference2)
listPreference1.setOnChangeListener { preference: Preference, newValue: Any ->
//listPreference2. <---- This is where the expected methods aren't showing. Not setDefaultValue, setValue, setIndexValue.
true ^setOnchangeListener
}
}
}
我实际上并没有得到结果,因为我无法使用我需要的方法。
如果您需要任何其他信息,我会尽力提供更多信息。
谢谢
【问题讨论】:
标签: android kotlin preference listpreference