7

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

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

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

      prefs3.registerOnSharedPreferenceChangeListener(listener);

首选项.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" />
4

1 回答 1

32

添加

android:dependency="checkboxPref"

到 ListPreference XML

结果:

<ListPreference
         android:entries="@array/numberOptions"
         android:entryValues="@array/numberValues"
         android:key="number"
         android:title="Number"
         android:dependency="checkboxPref"
 />
于 2012-12-31T12:33:28.940 回答