Using logical NOT with android: preference dependency

http://developer.android.com/reference/android/preference/Preference.html#attr_android:dependency

if I want my list to depend on other validation settings called on_off, I can do this

<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" /> 

and every time the on_off check preference is false, this list prefix will be disabled.

But what if I want every time on_off is true, list preference is turned off? I need something like logical NOT for android: dependency

Is it possible?

+6
source share
2 answers

In the XML preference, set the android:disableDependentsState attribute "on_off" CheckBoxPreference to true . For instance:.

 <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" /> 
+15
source

You can implement it in code:

 chb = (CheckBoxPreference) findPreference("chb"); list = (ListPreference) findPreference("list"); chb.setOnPreferenceClickListener(new OnPreferenceClickListener() { public boolean onPreferenceClick(Preference preference) { list.setEnabled(!chb.isChecked()); return false; } }); 
0
source

All Articles