SwitchPreference
我有一个SettingsFragment.kt
根据它是打开还是关闭来更改图标和标题的。
这是代码:
notificationsPreference.onPreferenceChangeListener = Preference.OnPreferenceChangeListener { _, newValue ->
val switched = newValue as? Boolean ?: false
if (switched) {
notificationsPreference.icon = ContextCompat.getDrawable(this@SettingsFragment.requireContext(), R.drawable.ic_notifications_active)
notificationsPreference.title = "Receive Notifications"
} else {
notificationsPreference.icon = ContextCompat.getDrawable(this@SettingsFragment.requireContext(), R.drawable.ic_notifications_off)
notificationsPreference.title = "Mute Notifications"
}
true
}
但是,此代码有效,假设用户单击SwitchPreference
关闭,离开SettingsFragment
并返回它。它会显示SwitchPreference
关闭,但标题和图标将不正确。正确的图标和标题将是我在else
上面声明中的代码。
在SwitchPreference
用户进入SettingsFragment
. 我想检查一下,如果SwitchPreference
关闭,我可以以编程方式设置正确的图标和标题。