Android 数据绑定是否将UI逻辑移出布局?
我对数据绑定非常陌生,我刚刚开始了解安卓数据绑定库,还有一件事让我很头疼 通过将ViewModel组件与数据绑定库一起使用,您可以将UI逻辑移出布局并移入更易于测试的组件中 紧接着,在布局XML中有这样的内容:Android 数据绑定是否将UI逻辑移出布局?,android,data-binding,android-databinding,Android,Data Binding,Android Databinding,我对数据绑定非常陌生,我刚刚开始了解安卓数据绑定库,还有一件事让我很头疼 通过将ViewModel组件与数据绑定库一起使用,您可以将UI逻辑移出布局并移入更易于测试的组件中 紧接着,在布局XML中有这样的内容: <CheckBox android:id="@+id/rememberMeCheckBox" android:checked="@{viewmodel.rememberMe}" android:onCheckedChanged="@{() -> vie
<CheckBox
android:id="@+id/rememberMeCheckBox"
android:checked="@{viewmodel.rememberMe}"
android:onCheckedChanged="@{() -> viewmodel.rememberMeChanged()}" />
也许只是我,但是
onCheckedChanged
属性在布局中包含的“逻辑”不是比从活动或片段在“哑”布局上调用setoncheckedchangelister()
的老式方法多得多吗?这一切似乎有点矛盾。有人能给我解释一下数据绑定是如何将“UI逻辑移出布局”的吗?您的ViewModel
现在保存了逻辑,您可以独立于UI进行测试,并且可以使用模拟的ViewModel
s对UI进行测试。它的代码并不总是较少,而是遵循模式的结构化代码