前言 使用單向數據綁定可以在屬性上設置數值,並可設定對該屬性的變化作出反應的監聽器。如下 <CheckBox android:id="@+id/rememberMeCheckBox" android:checked="@{viewmodel.rememberMe}" android:onCheckedChanged="@{viewmodel.rememberMeChanged}" /> 雙向數據綁定提供了此過程的捷徑。如下 <CheckBox android:id="@+id/rememberMeCheckBox" android:checked="@={viewmodel.rememberMe}" /> 注意在 @={} 表示法中的 = 符號表示了同時接受資料變化以及監聽更新。 為了對數據的變化做出反應,可以讓佈局變量成為 Observable 的實現,通常是 BaseObservable,並使用 @Bindable 註釋,如下 public class LoginViewModel extends BaseObservable { // private Model data = ... @Bindable public Boolean getRememberMe() { return data.rememberMe; } public void setRememberMe(Boolean value) { // Avoids infinite loops. if (data.rememberMe...