Merge change 5237 into donut

* changes:
  Calling setItemChecked(p, true) twice would toggle the selection in ListView.
This commit is contained in:
Android (Google) Code Review
2009-06-24 12:59:15 -07:00

View File

@ -3264,9 +3264,13 @@ public class ListView extends AbsListView {
if (mChoiceMode == CHOICE_MODE_MULTIPLE) {
mCheckStates.put(position, value);
} else {
boolean oldValue = mCheckStates.get(position, false);
// Clear the old value: if something was selected and value == false
// then it is unselected
mCheckStates.clear();
if (!oldValue) {
// If value == true, select the appropriate position
// this may end up selecting the value we just cleared but this way
// we don't have to first to a get(position)
if (value) {
mCheckStates.put(position, true);
}
}