Android设置-反向依赖

Android设置-反向依赖,android,xml,dependencies,settings,Android,Xml,Dependencies,Settings,我有一个主要的布尔设置,当为true时,将使一个子项处于活动状态,但当为false时,子项a将被禁用,子项B将处于活动状态 ie 我知道如何在xml标记中具有依赖性,但是否可能与特定的子设置具有反向关系 多谢各位 另外,如果可能的话,我想用XML来实现这一点。完全用XML是无法实现的 在父项(所依赖的首选项)上使用android:disableDependentsState=“true”将允许您反转依赖项,但它将同时更改子项设置。这不是你想要的。 唯一的方法是通过编程实现。你可能已经知道怎么做

我有一个主要的布尔设置,当为true时,将使一个子项处于活动状态,但当为false时,子项a将被禁用,子项B将处于活动状态

ie

我知道如何在xml标记中具有依赖性,但是否可能与特定的子设置具有反向关系

多谢各位


另外,如果可能的话,我想用XML来实现这一点。

完全用XML是无法实现的

在父项(所依赖的首选项)上使用android:disableDependentsState=“true”将允许您反转依赖项,但它将同时更改子项设置。这不是你想要的。

唯一的方法是通过编程实现。你可能已经知道怎么做了

SwitchPreference dependee = (SwitchPreference) findPreference("dependee");
dependent2.setEnabled(!dependee.isChecked());
dependee.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
    public boolean onPreferenceChange(Preference preference, Object newValue){
            boolean isEnabled = ((Boolean) newValue).booleanValue();
            dependent2.setEnabled(!isEnabled);
            return true;
        }
    });

使用复选框首选项中的android:disableDependentsState=“true”

例如:

<CheckBoxPreference
        android:key="cb_key"
        android:title="@string/stop_service"
        android:summaryOn="On
        android:summaryOff="Off"
        android:defaultValue="false"
        android:disableDependentsState="true" />
   <Preference
        android:key="pref_key"
        android:title="pref_title"
        android:summary="pref_summary"
        android:dependency="cb_key" />

<CheckBoxPreference
        android:key="cb_key"
        android:title="@string/stop_service"
        android:summaryOn="On
        android:summaryOff="Off"
        android:defaultValue="false"
        android:disableDependentsState="true" />
   <Preference
        android:key="pref_key"
        android:title="pref_title"
        android:summary="pref_summary"
        android:dependency="cb_key" />