DataBindingの使い方のメモ。
・公式ドキュメント
使用手順① : データバインディングを有効にする。
1, build.gradle(Module: app) ファイルを開く
2, androidセクション内で、dataBindingセクションを追加し、enabledをtrueにする。
android {
~~~ 各種設定 ~~~
dataBinding {
enabled = true
}
}
3, 上記の追加が終わったら、プロジェクトの同期を行う。
使用手順② : データバインディングを使用できるように、レイアウトファイルを変更する。
1, activity_main.xmlファイルを開き、最も外側のタグとして、<layout></layout>タグを追加する。またその際に、名前空間宣言を<layout></layout>タグに張り付ける。
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:tools=""http://schemas.android.com/tools
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
~~~~
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
使用手順③ : MainActivityで、バインディングオブジェクトを作成する。
1, MainActivity.ktファイルを開きます。
2, トップレベルで、バインディングオブジェクトの変数を作成する。この変数は慣習的にbindingとする。
3, onCreate()メソッド内のsetContentView()を処理を置き換える。
4, バインディングオブジェクトを使用して、findViewById()を置き換える。
import androidx.databinding.DataBindingUtil
private lateinit var binding: ActivityMainBinding
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = DataBindingUtil.setContentView(this, R.layout.activity_main)
binding.button.setOnClickListener {
// 処理
}
}
}
※DataBindingを使用してデータ表示を行う方法は後日記述。