Android数据绑定/BindingAdapter错误:{缺少返回语句} Android数据绑定/BindingAdapter错误:将函数传递给BindingAdapter(块:()->单元)时引发错误:错误:缺少返回语句。 |BindingAdapter.kt |activity_main.xml 解决方案1:
使用字段语法Android数据绑定/BindingAdapter错误:{缺少返回语句} Android数据绑定/BindingAdapter错误:将函数传递给BindingAdapter(块:()->单元)时引发错误:错误:缺少返回语句。 |BindingAdapter.kt |activity_main.xml 解决方案1:,android,android-binding-adapter,Android,Android Binding Adapter,使用字段语法 函数语法:❌ |单击=“@{()->viewModel.viewFun()}” 字段语法:✅ |单击=“@{viewModel.viewFun}” 解决方案2: 使用Lambda |ViewModel.kt Lambda-在使用参数块时工作良好 |带参数的块 附言:热爱你所做的。 @BindingAdapter("click") fun LottieAnimationView.click(block: () -> Unit) { se
- 函数语法:❌李>
- 字段语法:✅李>
解决方案2: 使用Lambda |ViewModel.kt Lambda-在使用参数块时工作良好 |带参数的块
附言:热爱你所做的。
@BindingAdapter("click")
fun LottieAnimationView.click(block: () -> Unit) {
setOnClickListener {
block()
}
}
<data>
<variable
name="viewModel"
type="com.veldan.ViewModel" />
</data>
<View
android:id="@+id/view"
click="@{() -> viewModel.viewFun()}"
android:layout_width="0dp"
android:layout_height="0dp" />
<View
android:id="@+id/view"
click="@{() -> viewModel.viewFun()}"
android:layout_width="0dp"
android:layout_height="0dp" />
class ViewModel() {
viewFun(){
// logic
}
}
class ViewModel() {
val viewFun: () -> Unit = {
// logic
}
}
@BindingAdapter("click")
fun LottieAnimationView.click(block: (Param1, Param2, ...) -> Unit) {
setOnClickListener {
block()
}
}