summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/widget/ListView.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/core/java/android/widget/ListView.java b/core/java/android/widget/ListView.java
index 097e859e460b..1a9c0df5735b 100644
--- a/core/java/android/widget/ListView.java
+++ b/core/java/android/widget/ListView.java
@@ -455,6 +455,12 @@ public class ListView extends AbsListView {
checkSelectionChanged();
}
+ if (mChoiceMode != CHOICE_MODE_NONE &&
+ mAdapter.hasStableIds() &&
+ mCheckedIdStates == null) {
+ mCheckedIdStates = new LongSparseArray<Boolean>();
+ }
+
} else {
mAreAllItemsSelectable = true;
checkFocus();
@@ -3320,7 +3326,7 @@ public class ListView extends AbsListView {
if (mCheckStates == null) {
mCheckStates = new SparseBooleanArray();
}
- if (mCheckedIdStates == null && mAdapter.hasStableIds()) {
+ if (mCheckedIdStates == null && mAdapter != null && mAdapter.hasStableIds()) {
mCheckedIdStates = new LongSparseArray<Boolean>();
}
}