summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorAdam Powell <adamp@google.com>2010-03-05 19:57:09 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-03-05 19:57:09 -0800
commit73e0546cbc2fd97bb7146eeeb38562b3c62a78d2 (patch)
treeac51f82ce3be9cb90b58e869da8a7a1eee77604a /core/java/android
parentafc591ee035850e33f25f568415500d8cbe814d0 (diff)
parentcb704cd1e05ecd9bbd9bebd16f3b816dcb0c5309 (diff)
Merge "Fixed a regression setting ListView selection mode without an adapter"
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>();
}
}