|
I got another trivial question in a comment: how to add checkboxes to an expandable
list view like
this
one? Nothing can be simpler, you just add CheckBox control to the child view
that forms the row and that's it. Except that it does not work without some tweaks.
You can download the example program from here.

The first bizarre thing you can notice in res/layout/child_row.xml that the CheckBox
is made non-focusable. Why to do that when we want the checkbox to capture "click"
events beside "touch" events? There is a complicated answer already presented in
this
post. The ViewGroup encapsulating the list row (the LinearLayout in res/layout/child_row.xml)
must retain the focus otherwise we don't get onChildClick events (see ElistCBox.java).
This would solve the problem for a Button but not for a CheckBox. Actually, I don't
know why the Button behaves correctly and the CheckBox does not. My experience is
that even if CheckBox has the focus, clicking on the row of the CheckBox does not
toggle its state. I am curious if anyone can provide an explanation, here I just
record the fact. Remove the android:focusable="false" line from the CheckBox element
in child_row.xml and observe, that you can click on the highlighted row as much
as you like but the CheckBox does not toggle. That's why I implemented it by "hand"
- I took away the focus from the CheckBox, this makes the child row deliver onChildClick
events then I toggled the state of the CheckBox programmatically. If anyone has
a better solution, I would be deeply interested.
Source:
mylifewithandroid
|
How to use custom de...
lets say i change this app to days to...
How to display a JPG...
Is that posible to zoom in and drag p...
Making a custom Andr...
Cool - I will use it carefully i promise
How to display a JPG...
problem in image loading - i have exe...
Introducing Calculon...
Thank You for your contribution - Hi,...