Значение ListPreference не обновляется с помощью setOnPreferenceChangeListener - PullRequest
0 голосов
/ 15 марта 2020

У меня есть ListPreference, и когда пользователь изменил значение, я бы автоматически обновил сводку listPreference, это предпочтение списка xml

    <ListPreference
        android:key="category"
        android:title="Category"
        android:icon="@drawable/ic_category"
        android:entries="@array/category"
        android:entryValues="@array/category" />

код

    public static class SettingsFragment extends PreferenceFragmentCompat {


    ListPreference category;

    @Override
    public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {

        setPreferencesFromResource(R.xml.setting_layout, rootKey);
        category = (ListPreference) findPreference("category");
        String [] value = myDb.select_category();
        category.setValue(value[0]);
        category.setSummary(value[0]);
        category.setOnPreferenceChangeListener(new         Preference.OnPreferenceChangeListener() {
            @Override
            public boolean onPreferenceChange(Preference preference, Object newValue) {
                category = (ListPreference) preference;
                category.getValue();
                categoria.setSummary(categoria.getValue());
                Toast.makeText(getContext(),category.getValue(),Toast.LENGTH_LONG).show();
                return true;
            }
        });

если первое значение было "ОДИН", то после того, как я изменил значение, я попытался проверить значение с помощью Toast, но не обновил ..

где я ошибся? Спасибо, ребята

...