[英]Android Architecture Components
我在我的应用程序中使用MVVM android架构。
我想实现click事件,那么,我们是否需要使用数据绑定体系结构组件,或者我们可以使用activity来处理click事件并验证用户输入?
实现这个的最佳方法是什么?
那么问题就是使用Databinding
。 以下是Databinding
一些优缺点:
优点:
缺点:
但是......因为Google
已经将它作为Android架构组件的一部分宣布,我相信你应该使用它。
实现这个的最佳方法是什么?
我不知道你对Databinding
有多熟悉,但是你应该对绑定适配器有所了解,在onClick
你不需要它。 只需在XML文件中添加android:onClick
属性即可。 您也可以找到这个Codelab来正确实现它:
https://codelabs.developers.google.com/codelabs/android-databinding/#0
例:
首先确保在build.gradle
启用了Databinding
android {
...
dataBinding {
enabled true
}
}
之后转到布局,您将使用数据绑定(为此确保它将是一个Activity / Fragment),只需在IDE中键入ALT + TAB, 然后再...
之后,定义类型,例如ViewModel
及其名称。 并且在视图中将使用click功能添加我上面所说的内容。 ( android:onClick="@{() -> viewmodel.onLike()}"
)
你还没结束。 您将以某种方式将逻辑连接到该数据绑定,因此请转到您的Activity / Fragment的Java / Kotlin代码并:
用val binding : SomeActivityBinding = DataBindingUtil.setContentView(this, R.layout.some_activity)
替换setContentView(R.layout.some_activity)
val binding : SomeActivityBinding = DataBindingUtil.setContentView(this, R.layout.some_activity)
请注意, SomeActivityBinding
将由IDE本身提供,因为根据xml命名在Databinding
库上处理。
那是最基本的。 祝好运。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.