使用逻辑NOT与android:preferences的依赖关系

使用逻辑NOT与android:preferences的依赖关系,android,android-preferences,Android,Android Preferences,如果我希望我的列表依赖于其他名为on_off的检查首选项,我可以这样做 <ListPreference android:defaultValue="100" android:dependency="on_off" android:dialogTitle="text" android:entries="@array/display_values" android:entryValues="@array/entry_values" android

如果我希望我的列表依赖于其他名为on_off的检查首选项,我可以这样做

<ListPreference
    android:defaultValue="100"
    android:dependency="on_off"
    android:dialogTitle="text"
    android:entries="@array/display_values"
    android:entryValues="@array/entry_values"
    android:key="preferences_text"
    android:summary="text"
    android:title="text" />

每次当“检查首选项打开\关闭”的值为false时,此列表首选项将被禁用

但是,如果我希望每次开/关都是真的,那么列表首选项将被禁用呢? 我需要一些类似逻辑的东西,而不是android:依赖性


这可能吗?

您可以在代码中实现它:

chb = (CheckBoxPreference) findPreference("chb");
list  = (ListPreference) findPreference("list");    
chb.setOnPreferenceClickListener(new OnPreferenceClickListener() {
      public boolean onPreferenceClick(Preference preference) {
        list.setEnabled(!chb.isChecked());
        return false;
      }
    });
在首选项XML中,将
的“on\u off”属性设置为
true
。例如:

<CheckBoxPreference
    android:disableDependentsState="true"
    android:key="on_off"
    android:summaryOff="Dependent is enabled"
    android:summaryOn="Dependent is disabled"
    android:title="Checkbox that disables its dependents state in reverse manner" />