Android设置-反向依赖
我有一个主要的布尔设置,当为true时,将使一个子项处于活动状态,但当为false时,子项a将被禁用,子项B将处于活动状态 ie 我知道如何在xml标记中具有依赖性,但是否可能与特定的子设置具有反向关系 多谢各位Android设置-反向依赖,android,xml,dependencies,settings,Android,Xml,Dependencies,Settings,我有一个主要的布尔设置,当为true时,将使一个子项处于活动状态,但当为false时,子项a将被禁用,子项B将处于活动状态 ie 我知道如何在xml标记中具有依赖性,但是否可能与特定的子设置具有反向关系 多谢各位 另外,如果可能的话,我想用XML来实现这一点。完全用XML是无法实现的 在父项(所依赖的首选项)上使用android:disableDependentsState=“true”将允许您反转依赖项,但它将同时更改子项设置。这不是你想要的。 唯一的方法是通过编程实现。你可能已经知道怎么做
另外,如果可能的话,我想用XML来实现这一点。完全用XML是无法实现的 在父项(所依赖的首选项)上使用android:disableDependentsState=“true”将允许您反转依赖项,但它将同时更改子项设置。这不是你想要的。 唯一的方法是通过编程实现。你可能已经知道怎么做了
SwitchPreference dependee = (SwitchPreference) findPreference("dependee");
dependent2.setEnabled(!dependee.isChecked());
dependee.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference preference, Object newValue){
boolean isEnabled = ((Boolean) newValue).booleanValue();
dependent2.setEnabled(!isEnabled);
return true;
}
});
使用复选框首选项中的android:disableDependentsState=“true” 例如:
<CheckBoxPreference
android:key="cb_key"
android:title="@string/stop_service"
android:summaryOn="On
android:summaryOff="Off"
android:defaultValue="false"
android:disableDependentsState="true" />
<Preference
android:key="pref_key"
android:title="pref_title"
android:summary="pref_summary"
android:dependency="cb_key" />
<CheckBoxPreference
android:key="cb_key"
android:title="@string/stop_service"
android:summaryOn="On
android:summaryOff="Off"
android:defaultValue="false"
android:disableDependentsState="true" />
<Preference
android:key="pref_key"
android:title="pref_title"
android:summary="pref_summary"
android:dependency="cb_key" />