我有一个自定义Presenter
类,我似乎无法将android.view.View
对象作为参数传递给我想要在用户点击按钮时执行的方法,即使我这样做不需要View
对象。使用DataBinding
,是否可以将onClick
事件绑定到不带XML
参数的方法?
<layout>
<data>
<variable
name="presenter"
type="com.somepackage.Presenter"/>
</data>
...
android:onClick="@{ presenter.onClick }"
...
</layout>
在Presenter
类中,我必须具有以下签名,否则代码无法编译:
...
public void onClick( @NonNull View ignored ) {
//do something that doesn't use the view parameter
}
...
我想要做的是在我的Presenter
calss中有一个没有View作为参数的方法签名:
...
public void onClick() {
//do something that doesn't use the view parameter
}
...
这可能吗?
答案 0 :(得分:3)
在您的xml中,您必须这样做
android:onClick="@{() -> presenter.onClick() }"
来调用您的方法