Tuesday, February 22, 2011

[android-developers] Re: Custom List layout with checkbox selection problem

I am also facing same issue. Let us say there are 15 items in the
listview and at a time it is didplaying 5 item. Then if i select first
titem and scroll i get to know that 6th and 11th items are also have
check box as selected.

Please help us to solve this issue.

On Jan 29, 7:02 pm, javaxmlsoapdev <vika...@gmail.com> wrote:
>  have ContactListActivity class as below
> public class ContactListActivity extends ListActivity{
>
>        @Override
>        public void onCreate(Bundle icicle) {
>                super.onCreate(icicle);
>
>           getListView().setFocusable(true);
>           getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
>
>           String[] from = new String[]
> {ContactsContract.Contacts.DISPLAY_NAME,ContactsContract.Contacts.HAS_PHONE­_NUMBER,ContactsContract.Contacts._ID};
>           int[] to = new int[] {R.id.name};
>
>           ContactListCursorAdapter adapter = new
> ContactListCursorAdapter(getApplicationContext(), R.layout.listview,
> getCursor(), from, to);
>           setListAdapter(adapter);
>
>        }
>
> Where ContactListCursorAdapter looks as below
> public class ContactListCursorAdapter extends SimpleCursorAdapter{
>        private Context context;
>
>     private int layout;
>    private Cursor c;
>
>    public ContactListCursorAdapter (Context context, int layout,
> Cursor c, String[] from, int[] to) {
>        super(context, layout, c, from, to);
>        this.context = context;
>        this.layout = layout;
>        this.c = c;
>    }
>
>  @Override
>    public Cursor runQueryOnBackgroundThread(CharSequence constraint)
> {
>        String[] projection = new String[] {
>                        ContactsContract.Contacts.DISPLAY_NAME,
>                        ContactsContract.Contacts.HAS_PHONE_NUMBER,
>                        ContactsContract.Contacts._ID
>        };
>
>        return
> context.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,
> projection, null, null, null);
>
>    }
>
> }
>
> listview xml looks as below
> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/
> android"
>                android:layout_width="fill_parent"
>                android:layout_height="fill_parent"
>                android:orientation="horizontal">
>        <TextView
>                android:id="@+id/name"
>                android:layout_width="wrap_content"
>                android:layout_height="wrap_content"
>                android:textSize="25sp"/>
>        <TextView
>                android:id="@+id/number"
>                android:layout_width="wrap_content"
>                android:layout_height="fill_parent"
>                 android:layout_below="@id/name"
>                android:layout_alignBottom="@id/number"
>                android:textSize="15sp"/>
>        <CheckBox android:text=""
>        android:id="@+id/checkBox"
>        android:layout_width="wrap_content"
>        android:layout_height="fill_parent"
>        android:layout_alignRight="@id/name"
>        android:layout_alignParentRight="true"/>
> </RelativeLayout>
>
> My contactlistwith checkbox is prepared correctly. however when Icheckan item from thelist(usingcheckbox) and then continuing
> scrolling up or down, it "checks"/"selects" other items(randomly) as
> well. I think first chekecked item's id is preserved and everytime it
> creates newviewand "selects/checks" other items with same id or
> something? When I uncheck any of those indirectly selected items it
> unselcts all of them together. Strongly it appers to be an "id" issue?
>
> Thanks,

--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

No comments:

Post a Comment