I’ve populated a ListActivity from a Cursor using SimpleCursorAdapter that starts another activity when one of the list items have been clicked. I’m also using ViewBinder to do some custom transformation of the data.
I want to add a CheckBox to each row in the list so I’ve changed the view and added a CheckBox with gravity right.
Adding the CheckBox has removed the ability to click on the items. The onListItemClick method I was overriding in ListActivity is no longer called when you press on a list item. Removing the CheckBox fixes this. Why is this?
Also, how can I set up the list so that it continues to perform my required functionality if the main part of the list item is clicked but have additional functionality when the CheckBox in the item is checked? Will setting a onCheckedChangedListener work or is the same view instance reused for each item in the list?
Looks like
SimpleCursorAdapteris too primitive for what I wanted to achieve.I’ve switched to implementing
CursorAdapterand returning a new view using theLayoutInflaterin my implementation of thenewViewmethod.In bindView I then set a custom
OnClickListenerto my mainLinearLayoutand then anotherOnCheckedChangeListenerto theCheckBox.For all this to look right I had to set the
LinearLayout‘s background to android’s menuitem drawable: