Android 在数据绑定中的OnFocusChange中传递视图
我试图在onFocusChange函数中使用侦听器绑定传递视图,但出现以下错误 回调android.view.view.OnFocusChangeListener#onFocusChange有2个方法,但定义的lambda有1个。它应该有0个或相等数量的参数 请有人能帮我找到正确的方法来实现这一点。Android 在数据绑定中的OnFocusChange中传递视图,android,Android,我试图在onFocusChange函数中使用侦听器绑定传递视图,但出现以下错误 回调android.view.view.OnFocusChangeListener#onFocusChange有2个方法,但定义的lambda有1个。它应该有0个或相等数量的参数 请有人能帮我找到正确的方法来实现这一点。 我认为错误信息的措辞不正确。onFocusChange()有两个方法没有任何意义,因为它是一个方法。更有可能的是,问题在于有两个参数,一个视图和一个布尔值。您已声明lambda只接受一个参数。只需
我认为错误信息的措辞不正确。
onFocusChange()
有两个方法没有任何意义,因为它是一个方法。更有可能的是,问题在于有两个参数,一个视图
和一个布尔值
。您已声明lambda只接受一个参数。只需向lambda添加第二个参数。对于xml:
app:onFocusChangeListener = "@{viewModel::onTargetFocusChanged}"
对于程序代码:
fun onTargetFocusChanged(view: View, hasFocus: Boolean){
...
}
请发布
saveClick()
的代码。还有obj
的
声明是什么?(编辑您的问题。不要用此信息发表评论。)请让我知道我在这里做错了什么。当我传递布尔值时,我无法获取user.name的值。请解释如何获取user.name的值。@Colin11 lambda需要接受布尔值。您可以修改saveClick()
以获取三个参数,也可以忽略布尔值。我对OnTouchListener有相同的查询,我们如何获取MotionEventobject@Shubham你应该发布一个新问题。一定要包括足够的细节,这样我们才能理解你的要求。
app:onFocusChangeListener = "@{viewModel::onTargetFocusChanged}"
fun onTargetFocusChanged(view: View, hasFocus: Boolean){
...
}