Android 使用数据绑定和MVVM处理onClick事件
我想使用Android 使用数据绑定和MVVM处理onClick事件,android,mvvm,data-binding,Android,Mvvm,Data Binding,我想使用Databinding在ImageView上设置onClickListener,并从ViewModel(MVVM)控制它 在xml布局中,我用数据绑定实现的所有东西都可以工作。但onClick事件不起作用 我得到这个错误: 错误:找不到符号 XML: viewModel.save(photoObj!!) 视图模型 fun save(photo: Photo){ setWallpaper(photo, false) } 片段: viewModel.save(photoObj
Databinding
在ImageView
上设置onClickListener
,并从ViewModel(MVVM)
控制它
在xml布局中,我用数据绑定实现的所有东西都可以工作。但onClick事件不起作用
我得到这个错误:
错误:找不到符号
XML:
viewModel.save(photoObj!!)
视图模型
fun save(photo: Photo){
setWallpaper(photo, false)
}
片段:
viewModel.save(photoObj!!)
我不知道这是什么错误。我尝试了stackoverflow的解决方案,但没有一个解决了我的问题
我想使用Databinding
和MVVM
设置onClick
侦听器。如果不知道问题出在哪里,请提供任何解决方案。您需要将照片传递到保存
功能,就像这样
android:onClick="@{() -> viewModelDetail.save(photo)}"
您还可以尝试修改OnClick Listener,如下所示:
android:onClick=“@{()->viewModelDetail.save(photo)}”
此方法不起作用。我必须为onClick函数添加“()->”。无论如何,谢谢你。你可以看看这里:@android如果你的函数中有一个v:View作为参数,那么你就不需要编写()->部分,但是因为你的函数没有与onClick方法相同的签名,所以你可以从onClick函数调用你的函数。谢谢你,这是有效的。问题是我没有放置photo对象和这个“()->”,我真的不知道这是什么意思。()->foo()
是一个lambda表达式,不带参数,调用时调用foo()