Android Предпочтение. Как заставить обновление сводки для предпочтения с установленным SummaryProvider? - PullRequest
0 голосов
/ 29 января 2020

У меня есть измененный EditTextPreference с использованием SimpleSummaryProvider:

<NumberPreference
    android:key="pref_key"
    android:defaultValue="0"
    android:title="Some title"
    app:useSimpleSummaryProvider="true"/>

Если я изменю это предпочтение программно (например, в событии onSharedPreferenceChanged), тогда сводка в графическом интерфейсе будет не обновлять. Есть ли способ уведомить виджет Предпочтения о том, что ему нужно снова прочитать значение и отобразить его в сводке? Без ручного присвоения значения c для сводки?

Я использую PreferenceFragmentCompat и модифицированный EditTextPreference с измененным EditTextPreferenceDialogFragmentCompat.

1 Ответ

0 голосов
/ 31 января 2020

Я посмотрел на Android источники ( EditTextPreferenceDialogFragmentCompat. java) - как диалог изменения настроек уведомляет EditTextPreference об изменении значения. Сделал так же, и это сработало:)

if (editTextPreference().callChangeListener(value)) {
    editTextPreference().setText(value);
}
...