Как проверить CheckBoxPreference проверено или нет? - PullRequest
0 голосов
/ 07 марта 2019

У меня есть страница настроек, где я добавил CheckBoxPreference Мне нужно проверить, установлен ли флажок или нет? Мой код:

<PreferenceCategory android:title="Google Maps">

    <CheckBoxPreference
        android:defaultValue="true"
        android:summary="@string/markerSummary"
        android:title="@string/markerTitle"
        android:key="@string/markerKey" />

</PreferenceCategory>

В настройках Activity.java

Preference DragPref = findPreference(getString(R.string.markerKey));
        DragPref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
            @Override
            public boolean onPreferenceChange(Preference preference, Object newValue) {
                boolean checked = Boolean.valueOf(newValue.toString());
                return false;
            }
        });

Этот код всегда возвращает false; И после добавления кода выше его значение не меняется на false. Можете ли вы помочь мне, как этого добиться?

1 Ответ

1 голос
/ 07 марта 2019

используйте это, надеюсь, это решит вашу проблему.

Preference DragPref = findPreference(getString(R.string.markerKey));
    DragPref.setOnPreferenceChangeListener(new  Preference.OnPreferenceChangeListener() {
        @Override
        public boolean onPreferenceChange(Preference preference, Object newValue) {
            boolean checked = (Boolean) newValue;
            return true; 
           // Note: return true to update the state of the Preference with the new value. If you want to disallow the change return false
        }
    });
...