首页 > 解决方案 > 设置中的一个字段可以依赖于xml中的另外两个吗?

问题描述

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

标签: androidxmldependenciesapplication-settings

解决方案


如果您尝试,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;
    }
});

推荐阅读