From cb704cd1e05ecd9bbd9bebd16f3b816dcb0c5309 Mon Sep 17 00:00:00 2001 From: Adam Powell Date: Fri, 5 Mar 2010 19:51:59 -0800 Subject: [PATCH] Fixed a regression setting ListView selection mode without an adapter --- core/java/android/widget/ListView.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/core/java/android/widget/ListView.java b/core/java/android/widget/ListView.java index 097e859e460b9..1a9c0df5735b7 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(); + } + } 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(); } }