设置中的一个字段可以与xml中的其他两个字段相关吗?

时间:2019-05-06 15:56:24

标签: android xml dependencies application-settings

有没有办法使字段“ A”依赖于两个字段“ key1”和“ key2”?我使用的是值列表,有2个选项可以使用它们,我需要其中一个可以“解锁”它,而不必重复字段“ A”。像这样的android:dependency="key1 | key2"

1 个答案:

答案 0 :(得分:1)

如果您尝试android:dependency="key1 | key2,则您的应用程序将崩溃。我不知道是否可以在xml中执行此操作,但是您可以在这样的代码中执行此操作:

final ListPreference fieldA = (ListPreference) findPreference("fieldA");
SwitchPreference key1 = (SwitchPreference) findPreference("key1");
SwitchPreference key2 = (SwitchPreference) findPreference("key2");
key1.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
    public boolean onPreferenceChange(Preference preference, Object newValue){
        fieldA.setEnabled((Boolean) newValue);
        return true;
    }
});
key2.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
    public boolean onPreferenceChange(Preference preference, Object newValue){
        fieldA.setEnabled((Boolean) newValue);
        return true;
    }
});