どうも。どっことです。今回はXML上でクリックリスナーを設定する実装方法について解説します。
XMLでクリックリスナーを設定する
dataBinding
では、XMLでクリックリスナーを設定する処理はよくある実装ですが、実はdataBinding
を使わない通常のケースでも似たような実装をすることができます。
解説
XMLでクリックリスナーを設定するには、任意のViewに対して
android:onClick
を設定してあげます。たとえば、TextView
に設定するときは以下のような形です。
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="テスト"
android:onClick="testClicked" />
あとはこのXMLを読み込むクラスに、testClicked(View v)
関数を実装します。
override fun testClicked(v: View) {
Log.d("TAG", "TextView テスト is clicked")
}
今回設定したonClick
の値はtestClicked
なのでそれに合わせていますが、実際に利用する際はTextView
がどんな表示をしているかなどを表現した関数名にしてあげると後々にコードを追いやすくなるかと思います。
まとめ
今回はXMLでクリックリスナーを設定する実装方法について解説しました。dataBinding
でも似たような実装方法があると思いますが、そうでなくてもシンプルに利用することができるので、参考にしていただけると幸いです。