ビューバインディングの設定
・アプリの build.gradle ファイルを開きます([Gradle Scripts] > [build.gradle (Module: Tip_Time.app)])
・android セクションに、次の行を追加します。
android {
…
buildFeatures {
viewBinding = true
}
}
・「Sync Now」をクリック
アクティビティでのビューバインディング
1.bindingデータの取得はxmlファイルの名称からを取り大文字にしてインフレート 2.アプリのビュー階層のルート(binding.root)を渡してコンテンツビューの取得 3.オブジェクトidの名称からを取り大文字にしてアクセス
class MainActivity : AppCompatActivity() {
lateinit var binding: ActivityMainBinding //バインディングObj
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// 1.activity_main.xml レイアウトの Viewsをbindingに取得する
// バインディングクラスの名前は、XML ファイルの名前をキャメルケースに変換して、末尾に「Binding」という単語を追加することで生成されます
binding = ActivityMainBinding.inflate(layoutInflater)
// 2.アプリのビュー階層のルート(binding.root)を渡してコンテンツビューの取得
setContentView(binding.root)
// findViewById()を使った場合
val myButton: Button = findViewById(R.id.calculate_button)
myButton.text = "A button"
// 3.バインディングオブジェクトへのアクセス
// 各ビューの参照はアンダースコアを削除して、ビュー名をキャメルケースに変換することで生成されます
binding.calculateButton.text = "A button"
}
}
トレーニング > KOTLIN を用いた ANDROID の基本 > レイアウト > ユーザー入力1 > チップを計算する > 3.ビューバインディング