Вызов метода OnClick без параметров с помощью DataBinding

У меня есть собственный класс 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
}
...

Это возможно?

1
0
1 081
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В вашем xml вам нужно сделать android:onClick = "@{() -> presenter.onClick() }" для вызова вашего метода

Другие вопросы по теме