リファレンス・カスタマイズ

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

 

この記事では findViewById を使わずに TextView や Button などにアクセスできるようになる View Binding(ビューバインディング)の使い方を紹介します。
 

findViewById メソッドを使う場合

val textView : TextView = findViewById(R.id.myTextView);

のように書きますが、無効な ID や間違った型を指定してしまうリスクがあります。

これを防ぐことが出来るのが View Binding です。
 

簡単に実装できてより安全なコードを書くことができるので、ぜひお試しください

Java バージョンはこちら
 


 

開発環境

Android StudioArctic Fox 2020.3.1
Android EmulatorNexus 4 (API 30)
minSdk16
compileSdk31

 

プロジェクトについて

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.

となります。
 
 

Java バージョンはこちら

ABOUT ME
Sara
「わかりやすく・シンプル」をモットーに、スマホアプリ・ウェブアプリの作り方を紹介します。 独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています🙂
guest
0 Comments
Inline Feedbacks
View all comments
0
この記事にコメントするx