我有一个复选框和一个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" />
答案 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"
/>