使用 DataBinding 的无参数 OnClick 方法调用
Parameterless OnClick method call with DataBinding
我有一个自定义 Presenter
class 并且我似乎无法绕过必须将 android.view.View
对象作为参数传递到我希望在用户单击时执行的方法中按钮,即使我不需要 View
对象。使用 DataBinding
,是否可以将 onClick
事件绑定到没有来自 XML
参数的方法?
<layout>
<data>
<variable
name="presenter"
type="com.somepackage.Presenter"/>
</data>
...
android:onClick="@{ presenter.onClick }"
...
</layout>
在 Presenter
class 中,我必须有以下签名,否则代码无法编译:
...
public void onClick( @NonNull View ignored ) {
//do something that doesn't use the view parameter
}
...
我想做的是在我的 Presenter
类中有一个方法签名,它没有视图作为参数:
...
public void onClick() {
//do something that doesn't use the view parameter
}
...
这可能吗?
在你的 xml 你必须做
android:onClick="@{() -> presenter.onClick() }"
调用您的方法
我有一个自定义 Presenter
class 并且我似乎无法绕过必须将 android.view.View
对象作为参数传递到我希望在用户单击时执行的方法中按钮,即使我不需要 View
对象。使用 DataBinding
,是否可以将 onClick
事件绑定到没有来自 XML
参数的方法?
<layout>
<data>
<variable
name="presenter"
type="com.somepackage.Presenter"/>
</data>
...
android:onClick="@{ presenter.onClick }"
...
</layout>
在 Presenter
class 中,我必须有以下签名,否则代码无法编译:
...
public void onClick( @NonNull View ignored ) {
//do something that doesn't use the view parameter
}
...
我想做的是在我的 Presenter
类中有一个方法签名,它没有视图作为参数:
...
public void onClick() {
//do something that doesn't use the view parameter
}
...
这可能吗?
在你的 xml 你必须做
android:onClick="@{() -> presenter.onClick() }"
调用您的方法