如何使用具有两个绑定的LiveData通知bean中的字段?

时间:2019-05-05 02:07:54

标签: android-livedata

LiveData对于双向绑定非常方便,但是,我使用了自己的diy bean(例如Person),并且将LiveData用于此bean,当更改bean中的字段时,它是如何双向通知和通知UI的绑定,更改UI(例如EditText),它如何通知数据? 这是代码:

public class Person {
    private String firstName;
    private String lastName;
}


<?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>
        <variable
            name="mainViewModel"
            type="com.desertboat.databinding.MainViewModel" />
    </data>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@={mainViewModel.livePerson.firstName}" />
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@={mainViewModel.livePerson.lastName}" />
         <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@{mainViewModel.livePerson.fullName}" />
    </LinearLayout>
</layout>

如显示的代码所示,当我在EditText中更改名字时,TextView的文本没有更改,如何实现双向绑定而不修改bean?

0 个答案:

没有答案