現役プログラマのプログラミング教室@岡崎市康生, Android/iOS(Swift/Kotlin)のアプリ開発、デジタル漫画制作を主軸事業としています。

Android(Kotlin)のListViewでsetOnItemClickListenerが動かない(呼ばれない)?

iOSではよく出くわしたのですが、Androidでは初でした。結構はまったのですが、検索してもあまり記事がないのでメモ。

ViewHolderを使ってたのですが、そのViewの親子関係に問題があることは推測してたわけですが、なかなか修正方法がはまらず半日、、、><

結論

  • ListViewが持つViewにフォカースが当たるとだめみたい

ということで具体的には何をしたかというと

ソースコード

フォーカスを外しました。

これだけですが、なかなか思いつかないw

touch系のメソッドでカスタムViewつくったり色々こねました><

<CheckBox
android:focusable="false"
android:focusableInTouchMode="false"

これでsetOnItemClickListenerが呼ばれるようになりました。