private void disableLastCheckedPref() {
Collection<CheckBoxPreference> checked = new ArrayList<CheckBoxPreference>(
3);
if (decode1D.isChecked()) {
checked.add(decode1D);
}
if (decodeQR.isChecked()) {
checked.add(decodeQR);
}
if (decodeDataMatrix.isChecked()) {
checked.add(decodeDataMatrix);
}
boolean disable = checked.size() < 2;
CheckBoxPreference[] checkBoxPreferences = { decode1D, decodeQR,
decodeDataMatrix };
//至少选择其一
for (CheckBoxPreference pref : checkBoxPreferences) {
pref.setEnabled(!(disable && checked.contains(pref)));
}
}
Preference必选其一
最新推荐文章于 2024-08-03 15:11:56 发布