我有一个Android偏好设置屏幕,其中一些首选项是相互依赖的。
换句话说,如果其中一个首选项设置为某个值,那么其他两个首选项可用。 如果没有,那么它们不是因为它们毫无意义。
具体来说,我有一个包含3个可能值的选项:提示,是和否。 当值设置为“否”时,我想锁定其他2个选项。
如何在Android 2.1中执行此操作?
答案 0 :(得分:1)
基本上只需要在OnPreferenceChangeListener中为3-way首选项启用/禁用首选项上的setEnabled()
。 e.g:
otherPrefOne = (ListPreference)findPreference("OTHER_PREF_1");
otherPrefTwo = (ListPreference)findPreference("OTHER_PREF_2");
ThreeWayPref = (ListPreference)findPreference("3WAY_PREF");
ThreeWayPref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference preference, Object newValue) {
if (((String)newValue).equals("No")) {
otherPrefOne.setEnabled(false);
otherPrefTwo.setEnabled(false);
} else {
otherPrefOne.setEnabled(true);
otherPrefTwo.setEnabled(true);
}
return true;
}
});