From a895b79ccf23e88c4e1ef1e5377e84cd0ad15cf8 Mon Sep 17 00:00:00 2001 From: Muthu Ramadoss Date: Fri, 31 Oct 2008 14:39:49 +0530 Subject: [PATCH] BUG FIX - http://code.google.com/p/android/issues/detail?id=955 Fixed AlertDialog.Builder setMultiChoiceItems losing checked state for invisible items in UI when backed by a Cursor. Please refer to the issue tracker for more details. --- core/java/com/android/internal/app/AlertController.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/java/com/android/internal/app/AlertController.java b/core/java/com/android/internal/app/AlertController.java index 53b9654901fdd..2b5470623b2fe 100644 --- a/core/java/com/android/internal/app/AlertController.java +++ b/core/java/com/android/internal/app/AlertController.java @@ -784,6 +784,9 @@ public class AlertController { Cursor cursor) { CheckedTextView text = (CheckedTextView) view.findViewById(R.id.text1); text.setText(cursor.getString(cursor.getColumnIndexOrThrow(mLabelColumn))); + if (cursor.getInt(cursor.getColumnIndexOrThrow(mIsCheckedColumn)) == 1) { + listView.setItemChecked(cursor.getPosition(), true); + } } @Override @@ -792,9 +795,6 @@ public class AlertController { View view = mInflater.inflate( R.layout.select_dialog_multichoice, parent, false); bindView(view, context, cursor); - if (cursor.getInt(cursor.getColumnIndexOrThrow(mIsCheckedColumn)) == 1) { - listView.setItemChecked(cursor.getPosition(), true); - } return view; }