Обновление экземпляра пользовательского интерфейса Preference из другого действия? - PullRequest
0 голосов
/ 09 декабря 2018

Как мне обновить экземпляр пользовательского интерфейса Prefence, который я создал в Задании действий из другого действия (Основное действие)?

Я пытался использовать эти строки в Основном действии, чтобы обновить Предпочтение в Задании действия, но яполучить ClassCastException.

Preference IsFeature =(Preference)((PreferenceActivity)context).findPreference((getString(R.string.key_enable_feature)));
IsFeature.setEnabled(True);

Просто интересно, есть ли другой способ сделать это?

Любая помощь, отзывы или ответы были бы хорошими!

1 Ответ

0 голосов
/ 10 декабря 2018

Вы можете попробовать это:

В xml настроек получите атрибут «ключ» из элемента, который вы хотите изменить (в нижнем примере это «example_switch»).Затем поместите этот код в метод кнопки onClick или куда угодно.Это ниже берет предпочтение переключателя в общих настройках и устанавливает его значение в false.

SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putBoolean("example_switch", false); // "example_switch" - "key" attribute of your element | false - value
editor.commit();
...