AndroidのListViewにButtonを追加するとonItemClickが効かない。

なんども検索してしまうのでメモ

原因

  • ListViewのListItemにButtonを追加すると、onClickListener(onItemClick)が効かなくなった。ListItemにButtonを設置すると、ButtonのonClickListenerは使えるんだけども、ListItemでつかえていたonClickListenerがブロックされる。ListItemにButtonなどのタップできるWidgetがあるとタップが無効になるらしい

解除方法

ListItemの一番親のレイアウトに

android:descendantFocusability="blocksDescendants"

を追加する。