Skip to content

Commit 3a5c376

Browse files
adampAndroid (Google) Code Review
authored andcommitted
Merge "More detailed error reporting for AbsListView/CHOICE_MODE_MULTIPLE_MODAL" into jb-mr1-dev
2 parents 0b23b5f + a798170 commit 3a5c376

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

core/java/android/widget/AbsListView.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -973,6 +973,12 @@ public void setItemChecked(int position, boolean value) {
973973

974974
// Start selection mode if needed. We don't need to if we're unchecking something.
975975
if (value && mChoiceMode == CHOICE_MODE_MULTIPLE_MODAL && mChoiceActionMode == null) {
976+
if (mMultiChoiceModeCallback == null ||
977+
!mMultiChoiceModeCallback.hasWrappedCallback()) {
978+
throw new IllegalStateException("AbsListView: attempted to start selection mode " +
979+
"for CHOICE_MODE_MULTIPLE_MODAL but no choice mode callback was " +
980+
"supplied. Call setMultiChoiceModeListener to set a callback.");
981+
}
976982
mChoiceActionMode = startActionMode(mMultiChoiceModeCallback);
977983
}
978984

@@ -5945,6 +5951,10 @@ public void setWrapped(MultiChoiceModeListener wrapped) {
59455951
mWrapped = wrapped;
59465952
}
59475953

5954+
public boolean hasWrappedCallback() {
5955+
return mWrapped != null;
5956+
}
5957+
59485958
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
59495959
if (mWrapped.onCreateActionMode(mode, menu)) {
59505960
// Initialize checked graphic state?

0 commit comments

Comments
 (0)