1. In app/build.gradle
, add the following code:
android { ... dataBinding { enabled = true } }
Also it can be
android { ... buildFeatures { dataBinding = true } }
2. Add an extra layout in layout xml file.
Before:
<androidx.constraintlayout.widget.ConstraintLayout xmlns:... android:...> ... </androidx.constraintlayout.widget.ConstraintLayout>
After:
<layout xmlns:...> <androidx.constraintlayout.widget.ConstraintLayout android:...> ... </androidx.constraintlayout.widget.ConstraintLayout> </layout>
3. Use data binding in Activity.
Before:
private lateinit var button: Button override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) button = findViewById(R.id.control_button) button.setOnClickListener { ... } }
After:
private lateinit var binding: ActivityMainBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = DataBindingUtil.setContentView(this, R.layout.activity_main) binding.controlButton.setOnClickListener { ... } }