我使用 SimpleSummaryProvider
修改了 EditTextPreference
:
<NumberPreference
android:key="pref_key"
android:defaultValue="0"
android:title="Some title"
app:useSimpleSummaryProvider="true"/>
如果我以编程方式更改此首选项(例如在 onSharedPreferenceChanged
事件中),则图形界面中的摘要将不会更新。有没有办法通知首选项小部件它需要再次读取该值并将其显示在摘要中?无需手动为摘要分配特定值?
我正在使用 PreferenceFragmentCompat
和修改后的 EditTextPreference
以及修改后的 EditTextPreferenceDialogFragmentCompat
。
最佳答案
我查看了 Android 源代码 ( EditTextPreferenceDialogFragmentCompat.java ) - 用于更改设置的对话框如何通知 EditTextPreference 有关值更改的信息。也做了并且有效:)
if (editTextPreference().callChangeListener(value)) {
editTextPreference().setText(value);
}
关于安卓偏好设置。如何强制更新设置了 SummaryProvider 的首选项摘要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59974704/