2012-12-31 7 views
7

Ich habe eine Checkbox und eine ListPreference, ich möchte ListPreference deaktivieren oder aktivieren durch Kontrollkästchen. Ich lese viel und ich fand, dass nur mit Java (und nicht mit xml) möglich ist. Ist es richtig? Jetzt, nachdem ich den Wert von "checkboxPref" gelesen habe (boolean true/false), weiß ich nicht wie.CheckBoxPreference und Abhängigkeit

SharedPreferences prefs3 = PreferenceManager.getDefaultSharedPreferences(this); 
     listener = new SharedPreferences.OnSharedPreferenceChangeListener() { 
      public void onSharedPreferenceChanged(SharedPreferences prefs, String listpref) {  

       CheckboxPreference = prefs.getBoolean("checkboxPref", true); 
       } }; 

     prefs3.registerOnSharedPreferenceChangeListener(listener); 

preferences.xml:

<CheckBoxPreference 
         android:title="Notifify" 
         android:defaultValue="true" 
         android:key="checkboxPref" /> 
      <ListPreference 
     android:entries="@array/numberOptions" 
     android:entryValues="@array/numberValues" 
     android:key="number" 
     android:title="Number" /> 

Antwort

30

hinzufügen

android:dependency="checkboxPref" 

Zum ListPreference XML

Ergebnis:

<ListPreference 
     android:entries="@array/numberOptions" 
     android:entryValues="@array/numberValues" 
     android:key="number" 
     android:title="Number" 
     android:dependency="checkboxPref" 
/> 
Verwandte Themen