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

この記事では findViewById を使わずに TextView や Button などにアクセスできるようになる View Binding(ビューバインディング)の使い方を紹介します。
findViewById メソッドを使う場合
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.java
- 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.java を開いて、12・19~21行目を追加します。
ActivityMainBinding について
バインディングクラス名は XML ファイル名をキャメル型にして Binding を付けます。
例えば
activity_main.xml → ActivityMain + Binding → ActivityMainBinding
user_login_view.xml → UserLoginView + Binding → UserLoginViewBinding
となります。
Step 4:View を参照する
Button をクリックしたら TextView の文字列を変えるコードを書いてみます。(14~19行目)
14行目
Button 要素の id 属性は “@+id/btn” としたので
binding.btn.
で参照することができます。
17行目
TextView 要素の id 属性は “@+id/my_text_view” としたので
binding.myTextView.
となります。
