ビューバインディング

  • 投稿者:
  • 投稿カテゴリー:その他

ビューバインディングの設定

・アプリの 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.ビューバインディング