我正在尝试在 onFocusChange 函数中使用监听器绑定(bind)传递 View ,但出现以下错误



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

    <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)}" />

验证
public class Validations {
    public void saveClick(View view, String name){
        Log.v("saveClick",name);
    }
}

最佳答案

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

关于android - 在数据绑定(bind) Android 中通过 OnFocusChange 中的 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39355945/

10-10 16:01