我试图在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)
我认为错误消息的措辞不正确.onFocusChange()
由于它是一种方法,因此有两种方法没有任何意义.更有可能的是,问题是onFocusChange()
有两个参数,a View
和a boolean
.您已声明lambda只接受一个参数.只需向lambda添加第二个参数即可.
归档时间: |
|
查看次数: |
1733 次 |
最近记录: |