Android

Android「ListViewのクリックイベントが効かない」の解決方法

ListViewに、setOnItemClickListenerをセットしているのに、リストのタップが全く無反応….。

これは、リストにButtonSwitchなどの
「タップを受け付けるUIパーツ」を配置している
と起こります。

 

ListViewの行レイアウトxmlのルートに次の属性を追加すると、行のタップが効くようになります。
これは、折りたたみができる「ExpandableListView」でも同様です。

android:descendantFocusability="blocksDescendants"

 

RecyclerViewは、そもそもタップイベントが無いので、大丈夫(?)です。