class MyPreferenceFragment : PreferenceFragmentCompat() {
var count = 0
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
setPreferencesFromResource(R.xml.my_preference, rootKey)
val myPreference: Preference? = findPreference("my_preference")
myPreference?.summaryProvider = Preference.SummaryProvider<Preference> {
count++
Log.d(TAG, "$count") // I checked out the count value is updated correctly
count.toString()
}
myPreference?.onPreferenceClickListener =
Preference.OnPreferenceClickListener { preference ->
Toast.makeText(context, "${preference.summary}", Toast.LENGTH_SHORT).show()
true
}
}
}
Я хочу динамически обновлять мою сводку предпочтений на основе значения count
. Когда я открыл свой экран настроек, сводка была обновлена корректно с 1, но больше не обновляется.
Я знаю, provideSummary()
вызывается только тогда, когда getSummary()
метод называется. Поэтому я добавляю onPreferenceClickListener для вызова этой функции.