У меня есть собственный класс 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, у которого нет View в качестве параметра:
...
public void onClick() {
//do something that doesn't use the view parameter
}
...
Это возможно?
В вашем xml вам нужно сделать
android:onClick = "@{() -> presenter.onClick() }" для вызова вашего метода