CheckBoxPreference 和依赖关系

8

我有一个复选框和一个列表首选项,我想通过复选框禁用/启用列表首选项。我阅读了很多资料,并发现只能使用Java(而不是XML)实现。这是正确的吗?现在,在读取“checkboxPref”(布尔值true/false)的值之后,我不知道该怎么做。

我可以帮您翻译成中文:

我有一个复选框和一个列表首选项,我想通过复选框禁用/启用列表首选项。我阅读了很多资料,并发现只能使用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个回答

34

添加

android:dependency="checkboxPref"

对于ListPreference的XML

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接