在我的数据绑定布局中,我通过以下方式设置了长按侦听器:
android:onLongClick="@{ ..binding expression.. }"
Run Code Online (Sandbox Code Playgroud)
代码按预期运行,但该android:onLongClick属性在 xml 文件中被标记为“未知”。此外,它没有自动完成功能。
此属性的绑定适配器包含在 中的数据绑定库中ViewBindingAdapter.java。
正如这里所说,您可以使用:android:onLongClick="@{() -> handler.onLongClicked()}"
但是如果你想删除警告,你可以使用下面的代码而不是上面的代码:
app:onLongClickListener="@{() -> handler.onLongClicked()}"
如果使用app:onLongClickListener数据绑定会setOnLongClickListener在View类中找到并使用该方法
onLongClickListener和之间有区别onLongClick:我们在视图中调用了一个方法,setOnLongClickListener但我们没有这样的方法:setOnLongClick并且当您atr在数据绑定中使用具有数据绑定之类方法的属性时,setAtr将自动查找并使用该方法,不需要任何适配器。这样onLongClickListener做并不需要任何适配器(如果有的话,将被用来代替转接器setOnLongClickListener),但是onLongClick总是需要适配器。
| 归档时间: |
|
| 查看次数: |
1418 次 |
| 最近记录: |