activity_main.xmlMainActivity.ktUser.kt
<?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <data> <variable name="user" type="com.codinginflow.databindingexample.User" /> </data> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical" tools:context=".MainActivity"> <TextView android:id="@+id/text_view_first_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{user.firstName}" android:textAppearance="@style/TextAppearance.AppCompat.Large" /> <TextView android:id="@+id/text_view_last_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{user.lastName}" android:textAppearance="@style/TextAppearance.AppCompat.Large" /> <TextView android:id="@+id/text_view_age" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{String.valueOf(user.age)}" android:textAppearance="@style/TextAppearance.AppCompat.Large" /> </LinearLayout> </layout>
package com.codinginflow.databindingexample import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import androidx.databinding.DataBindingUtil import com.codinginflow.databindingexample.databinding.ActivityMainBinding class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val binding: ActivityMainBinding = DataBindingUtil.setContentView(this, R.layout.activity_main) binding.user = User("Florian", "Walther", 29) } }
package com.codinginflow.databindingexample data class User(val firstName: String, val lastName: String, val age: Int)