LoginSignup
0
0

More than 1 year has passed since last update.

KotlinでviewBindingを使う

Posted at

ブロジェクト作成

赤のMainActivityを開きSplitで開くと、コードとデザインを同時に確認できます。
水色がtexttViewのコードとエディタです。
スクリーンショット 2022-01-17 16.48.52.png

ボタン追加

ボタンを追加すると、コードとデザイン両方追加されます。
スクリーンショット 2022-01-17 17.05.52.png

背景色も変更してみる

赤枠のbackgroundをいじれば変更できました。
スクリーンショット 2022-01-17 17.08.42.png

バインディングの設定

build.gradleを開いて、赤で囲ったコードを追加し、右上のSync Nowを押します。
この辺りのやり方は公式ドキュメントを見てください。
スクリーンショット 2022-01-17 17.13.32.png

バインディングを使う

バインディングクラス

上で設定したので、バインディングクラスがファイルごとに生成されるそうです。
今回、初期ではactivity_main.xmlがあるので、ActivityMainBindingが生成されています。
例えば、activity_result.xmlを作成すると、ActivityResultBindingが生成されるはずです。

定義に飛んでみる

ActivityMainBindingにカーソルを合わせてcommand + クリックするとxmlファイルに飛べるので関連性が分かると思います。

使い方

このbindingを使って、レイアウトの変数とビューにアクセスできます。
設定方法はバインディングクラスのinflate()メソッドを使用して、オブジェクトをバインドできるそう。
layoutInflaterをいうのは、レイアウトXMLファイルを対応するViewオブジェクトにインスタンス化するものだそうです。(公式ドキュメント)
詳しいことは公式ドキュメント参照。
スクリーンショット 2022-01-17 17.24.48.png

カウントアップ処理を追加してみた

tapCountを作成してこれをtextViewに反映します。
bindingを通してtextViewbuttonにアクセスしてやりたい処理を書くことができるそうです。
スクリーンショット 2022-01-17 17.45.54.png

最後に

今回はバインディングの方法について書いてみました。
まだAndroid・Kotlin始めて3日目くらいなので他の方法などあれば教えてくださーい

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0