A common problem in development is that the ListView in the project is not just a simple text, it often needs to define its own ListView, its own adapter to inherit Baseadapter, to write in adapter according to requirements, the problem arises, It is possible to click on each item when there is no response and cannot get the focus. This is mostly due to the presence of child controls such as Imagebutton,button,checkbox in your own definition, such as the child control of a Button or checkable, in which the child controls get the focus. So often when clicking on item changes the child control, the item itself's click does not respond.
This time you can use descendantfocusability to solve, the API description is as follows:
android:descendantfocusability
Defines the relationship between the ViewGroup and its descendants when looking-a View to take focus.
Must be one of the following constant values.
This property is defined as the relationship between ViewGroup and its child controls when one gets the focus for the view.
There are three types of values for the property:
Beforedescendants:viewgroup takes precedence over its subclass control and gets to focus
Afterdescendants:viewgroup gets focus only if its subclass control does not need to get focus
Blocksdescendants:viewgroup overrides the subclass control and gets the focus directly
Usually we use the third type, that is, the root layout of the item layout plus the android:descendantfocusability= "blocksdescendants" property is good, At this point the ListView clicked on the supernatural event. Experience: Encounter will not understand the place in addition to online query information, but also can be a lot to try the role of each of the properties, read more official documents (I always think it is better to read the original than the translation of the understanding).
Android:descendantfocusability usage