在数据绑定Android中传递OnFocusChange中的视图

Col*_*n11 2 android

我试图在onFocusChange函数中使用Listener绑定传递视图,但得到以下错误

回调android.view.View.OnFocusChangeListener#onFocusChange有2个方法,但lambda定义为1.它应该有0或相同数量的参数. 

请有人帮我找到正确的方法来实现这一点.

    <variable
        name="user"
        type="com.webage.www.vco_address.User" />

    <variable
        name="obj"
        type="com.webage.www.colin.Validations" />



</data>
    <EditText
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="82dp"
        android:text="@={user.name}"
        android:onFocusChange="@{(view)->obj.saveClick(view, user.name)}" />
Run Code Online (Sandbox Code Playgroud)

验证

public class Validations {
    public void saveClick(View view, String name){
        Log.v("saveClick",name);
    }
}
Run Code Online (Sandbox Code Playgroud)

Cod*_*ice 6

我认为错误消息的措辞不正确.onFocusChange()由于它一种方法,因此有两种方法没有任何意义.更有可能的是,问题是onFocusChange()有两个参数,a View和a boolean.您已声明lambda只接受一个参数.只需向lambda添加第二个参数即可.