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?