Merge change 5237 into donut
* changes: Calling setItemChecked(p, true) twice would toggle the selection in ListView.
This commit is contained in:
@@ -3264,9 +3264,13 @@ public class ListView extends AbsListView {
|
|||||||
if (mChoiceMode == CHOICE_MODE_MULTIPLE) {
|
if (mChoiceMode == CHOICE_MODE_MULTIPLE) {
|
||||||
mCheckStates.put(position, value);
|
mCheckStates.put(position, value);
|
||||||
} else {
|
} else {
|
||||||
boolean oldValue = mCheckStates.get(position, false);
|
// Clear the old value: if something was selected and value == false
|
||||||
|
// then it is unselected
|
||||||
mCheckStates.clear();
|
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);
|
mCheckStates.put(position, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user