我试图做一些我不确定的事情,需要有人提供反馈。
我有2个偏好。其中之一,我想依赖于另一个人的价值。
示例:我的“通知模式”首选项有2个选项:“计时器”和“提醒”
如果用户选择“计时器”选项,我希望我的其他首选项可用于设置时间。
否则,我想要Preference来设置Timer被禁用。
这是我在pref更改的监听器中提出的内容:
if (key.equals(PREF_NOTIFICATION_MODE)) {
Preference notifModePref = findPreference(key);
notifModePref.setSummary(sharedPreferences.getString(key, ""));
if(!notifModePref.equals("Timer Mode")) {
Preference timerDurationPref = findPreference(PREF_TIMER_DURATION);
timerDurationPref.onDependencyChanged(notifModePref, true);
} else if(notifModePref.equals("Timer Mode")) {
Preference timerDurationPref = findPreference(PREF_TIMER_DURATION);
timerDurationPref.onDependencyChanged(notifModePref, false);
}
}
我不确定我是否正确地这样做,或者如果onDependencyChanged
是正确的。
我通过引用if(key.equals)
并使用Preference
语句和使用if
的组合,并根据需要设置onDependencyChanged()
,完成了.isEnabled(boolean)
内部的目标。