Data Binding
正向绑定
当user.name的数据改动时,我们的TextView都会同步改变文字。1
2
3
4
5
6
7
8<layout ...>
<data>
<variable type="com.example.myapp.User" name="user"/>
</data>
<RelativeLayout ...>
<TextView android:text="@{user.name}" .../>
</RelativeLayout>
</layout>
双向绑定
现在假设一种情况,当你更换成EditText时,如果你的用户名User.name已经绑定到EditText中,当用户输入文字的时候,你原来的user.name数据并没有同步改动,因此我们需要修改成:
1 | <layout ...> |
跟单项绑定的差别,就是”@{}“改成了”@={}“,多了等号
@=符号,重要的是包括“=”符号,接收对属性的数据更改并同时侦听用户更新