data binding

    xiaoxiao2026-03-15  6

    1、环境 build.gradle

    dataBinding { enabled = true } 2、layout

    <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android">    <data>        <variable name="user" type="com.example.User"/>    </data>    <LinearLayout        android:orientation="vertical"        android:layout_width="match_parent"        android:layout_height="match_parent">        <TextView android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="@{user.firstName}"/>        <TextView android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="@{user.lastName}"/>    </LinearLayout> </layout> 3、data project public class User {    public final String firstName;    public final String lastName;    public User(String firstName, String lastName) {        this.firstName = firstName;        this.lastName = lastName;    } }4、binding data  super.onCreate(savedInstanceState);    MainActivityBinding binding = DataBindingUtil.setContentView(this, R.layout.main_activity);//自动生成    User user = new User("Test", "User");    binding.setUser(user);5、事件绑定 <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android">    <data>        <variable name="handlers" type="com.example.Handlers"/>        <variable name="user" type="com.example.User"/>    </data>    <LinearLayout        android:orientation="vertical"        android:layout_width="match_parent"        android:layout_height="match_parent">        <TextView android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="@{user.firstName}"            android:onClick="@{handlers::onClickFriend}"/>    </LinearLayout> </layout>public class MyHandlers {     public void onClickFriend(View view) { ... } }

    转载请注明原文地址: https://ju.6miu.com/read-1307998.html
    最新回复(0)