Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 设置中的一个字段是否可以依赖于xml中的另两个字段?_Android_Xml_Dependencies_Application Settings - Fatal编程技术网

Android 设置中的一个字段是否可以依赖于xml中的另两个字段?

Android 设置中的一个字段是否可以依赖于xml中的另两个字段?,android,xml,dependencies,application-settings,Android,Xml,Dependencies,Application Settings,是否有一种方法使字段依赖于两个字段key1和key2?我正在使用一个值列表,有两个选项可以使用它们,我需要其中任何一个来解锁它,而不必重复字段a。类似这样的android:dependency=key1 | key2?如果你尝试android:dependency=key1 | key2,你的应用程序将崩溃。我不知道是否有一种方法可以在xml中实现,但您可以在如下代码中实现: final ListPreference fieldA = (ListPreference) findPreferenc

是否有一种方法使字段依赖于两个字段key1和key2?我正在使用一个值列表,有两个选项可以使用它们,我需要其中任何一个来解锁它,而不必重复字段a。类似这样的android:dependency=key1 | key2?

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