我正在尝试做我不确定的事情,需要有人提供反馈。
我有2个偏好设置。其中一个,我想依赖另一个人的价值。
示例:我的“通知模式”首选项有2个选项:“计时器”和“提醒”
如果用户选择“计时器”选项,我希望我的其他“首选项”可以设置时间。
否则,我希望禁用用于设置计时器的首选项。
这是我的首选更改监听器中提出的内容:
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
是否正确。
答案 0 :(得分:0)
我通过引用有问题的if(key.equals)
并使用Preference
语句以及使用if
和设置onDependencyChanged()
的组合来实现.isEnabled(boolean)
内部的目标根据需要。