diff options
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/widget/ListView.java | 8 |
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>(); } } |
