<?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" xmlns:tools="http://schemas.android.com/tools"> <data> <import type="java.util.List" /> <import type="java.util.Map" /> <variable name="user" type="com.bw.day0128mvvm.User" /> <variable name="view" type="android.view.View" /> <variable name="list" type="List<String>" /> <variable name="index" type="Integer" /> <variable name="map" type="Map<String,Object>" /> <variable name="key" type="String" /> <variable name="presenter" type="com.bw.day0128mvvm.Presenter" /> <variable name="userinfo" type="com.bw.day0128mvvm.UserInfo" /> </data> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity2"> <TextView android:text="@{user.name}" android:layout_width="wrap_content" android:layout_height="wrap_content"> </TextView> <TextView android:text="@{String.valueOf(user.age)}" android:visibility="@{user.age >= 20 ? view.VISIBLE : view.GONE}" android:layout_width="wrap_content" android:layout_height="wrap_content"> </TextView> <!--视图引用--> <EditText android:id="@+id/et_text" android:layout_width="match_parent" android:layout_height="wrap_content"> </EditText> <TextView android:text="@{etText.text}" android:textStyle="bold" android:textColor="#C10505" android:layout_width="wrap_content" android:layout_height="wrap_content"> </TextView> <!--List集合--> <TextView android:text="@{list.get(index)}" android:layout_width="wrap_content" android:layout_height="wrap_content"> </TextView> <!--Map集合--> <TextView android:text="@{String.valueOf(map.get(key))}" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TextView android:text="事件绑定" android:onClick="@{()->presenter.OnSave()}" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TextView android:text="@{userinfo.name}" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TextView android:text="@{presenter.firstName}" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TextView android:text="可观察对象" android:onClick="@{()->presenter.OnSave2(userinfo)}" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout> </layout>
package com.bw.day0128mvvm; import androidx.appcompat.app.AppCompatActivity; import androidx.databinding.DataBindingUtil; import android.os.Bundle; import com.bw.day0128mvvm.databinding.ActivityMain2Binding; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class MainActivity2 extends AppCompatActivity { private ActivityMain2Binding activityMain2Binding; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.activity_main2); activityMain2Binding = DataBindingUtil.setContentView(this,R.layout.activity_main2); User user = new User("胡豪哲",20); activityMain2Binding.setUser(user); List<String> list = new ArrayList<>(); list.add("laohu"); list.add("oldhu"); list.add("hhz"); activityMain2Binding.setList(list); activityMain2Binding.setIndex(1); Map<String,Object> map = new HashMap<>(); map.put("111","小猫"); map.put("222",20); map.put("333","小猴"); activityMain2Binding.setMap(map); activityMain2Binding.setKey("222"); Presenter presenter = new Presenter("abcd"); activityMain2Binding.setPresenter(presenter); UserInfo userInfo = new UserInfo("oldhu",18); activityMain2Binding.setUserinfo(userInfo); } }