【Android Studio】View Bindingの使い方(Kotlin編)

この記事では findViewById を使わずに TextView や Button などにアクセスできるようになる View Binding(ビューバインディング)の使い方を紹介します。
findViewById メソッドを使う場合
val textView : TextView = findViewById(R.id.myTextView)
のように書きますが、無効な ID や間違った型を指定してしまうリスクがあります。
これを防ぐことが出来るのが View Binding です。
簡単に実装できてより安全なコードを書くことができるので、ぜひお試しください。
開発環境
Android Studio | Arctic Fox 2020.3.1 |
---|---|
Android Emulator | Nexus 4 (API 30) |
minSdk | 16 |
compileSdk | 31 |
プロジェクトについて
Sample という名前でプロジェクトを作成しています。
使用するファイル
- MainActivity.kt
- activity_main.xml
activity_main.xml に TextView と Button を用意して、ボタンを押したら TextView の文字列を変更するコードを書いていきます。

View Binding の使い方
Step 1:View Binding を有効にする
Android Studio 画面左側のプロジェクト構造から Gradle Scripts → build.gradle(Module: Sample.app) を開きます。

13~15行目を追加します。
画面右上に表示される Sync Now をクリックします。

Step 2:View に id を付ける
activity_main.xml を開いて、11・19 行目のように id を付けます。
Step 3:View をセットする
MainActivity.kt を開いて、9・15~17行目を追加します。
ActivityMainBinding について
バインディングクラス名は XML ファイル名をキャメル型にして Binding を付けます。
例えば
activity_main.xml → ActivityMain + Binding → ActivityMainBinding
user_login_view.xml → UserLoginView + Binding → UserLoginViewBinding
となります。
Step 4:View を参照する
Button をクリックしたら TextView の文字列を変えるコードを書いてみます。(13~15行目)
13行目
Button 要素の id 属性は “@+id/btn” としたので
binding.btn.
で参照することができます。
14行目
TextView 要素の id 属性は “@+id/my_text_view” としたので
binding.myTextView.
となります。
