エンジニア?プログラマ?

日々考えたことやメモを書いていきます

ListView内のButtonのイベント処理

Androidにて。

ListActivityやListFragmentでListView内にButtonがあると

クリックイベントがボタンに奪われてしまい、

ListViewの方のonListItemClick等でイベントが拾えなくなってしまう。

 

リストのクリック処理系統は一括で同じところに書きたいので、

ボタンのイベントだけボタンのイベントリスナーの方に書くのも嫌な感じがする。

 

よってボタンがイベントを受け取らずにスルーする方法。

ButtonのlayoutXMLの属性に以下を加える。

android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"

全部必要かはちゃんと検証してないけど、

どれかだけを指定してもうまくいかなかったためはまった。