Экран настроек Android с взаимозависимыми записями - PullRequest
0 голосов
/ 07 сентября 2011

У меня есть экран настроек Android, на котором некоторые настройки взаимозависимы.

Другими словами, если для одного из предпочтений задано определенное значение (я), тогда доступны еще два других.Если нет, то это не потому, что они бессмысленны.

В частности, у меня есть опция с 3-мя возможными значениями: «Подсказка», «Да» и «Нет»..

Как мне это сделать в Android 2.1?

1 Ответ

1 голос
/ 07 сентября 2011

В основном просто вызовите setEnabled() для предпочтений, которые вы хотите включить / отключить в OnPreferenceChangeListener для 3-стороннего предпочтения.например:

otherPrefOne = (ListPreference)findPreference("OTHER_PREF_1");
otherPrefTwo = (ListPreference)findPreference("OTHER_PREF_2");

ThreeWayPref = (ListPreference)findPreference("3WAY_PREF");
ThreeWayPref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
    public boolean onPreferenceChange(Preference preference, Object newValue) {
        if (((String)newValue).equals("No")) {
            otherPrefOne.setEnabled(false);
            otherPrefTwo.setEnabled(false);
        } else {
            otherPrefOne.setEnabled(true);
            otherPrefTwo.setEnabled(true);
        }
        return true;
    }
});
...