Skip to content

双向数据绑定

首先新建类TwoWay,代码如下

public class TwoWay {
    public final ObservableField<Boolean> rememberMe = new ObservableField<>(false);
    public void rememberMeChanged(CompoundButton buttonView, boolean isChecked) {
        rememberMe.set(isChecked);
    }
}

使用单向数据绑定,您可以为特性设置值,并设置对该特性更改作出反应的监听器:

<CheckBox
    android:id="@+id/rememberMeCheckBox"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:checked="@{way.rememberMe}"
    android:onCheckedChanged="@{way.rememberMeChanged}"
    android:text="Android 2020" />

双向数据绑定为此过程提供了一个快捷方式:

<CheckBox
    android:id="@+id/twoWayCb"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:checked="@={way.rememberMe}"
    android:text="Android 2020 - two way" />

@={}表示法接收属性的数据更改并同时监听用户更新,其中重要的是包含“=”符号。