CheckBoxPreference和依赖

时间:2012-12-31 12:30:59

标签: android

我有一个复选框和一个ListPreference,我想通过复选框禁用/启用ListPreference。我读了很多,我发现只能使用java(而不是xml)。这是对的吗?现在,在读取“checkboxPref”的值(布尔值为true / false)后,我不知道怎么做。

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

1 个答案:

答案 0 :(得分:31)

添加

android:dependency="checkboxPref"

到ListPreference XML

结果:

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