Лучшее место для добавления прослушивателя OnClick - это модель представления при использовании архитектуры MVVM. в архитектуре MVVM с привязкой данных вы можете обрабатывать прослушиватель щелчка разными способами.
<Button
onClick="@{()->viewModel.onMyButtonClicked()}"/>
<Button
onClick="@{(view)->viewModel.onMyButtonClicked(view)}"/>
В этом случае нет необходимости указывать идентификатор для каждого. Для этого сначала вам нужно зарегистрировать ViewModel в своей деятельности. в Activity onCreate вы должны установить представление содержимого, как я упоминал ниже.
ActivityMainBinding activityMainBinding = DataBindingUtils.setContentView(this,R.layout.activity_main);
activityMainBinding.viewModel = MyViewModel(application)
activityMainBinding.lifecycleOwner = this;
после этого в вашем файле макета вам нужно добавить переменную ViewModel
<layout>
<data>
<variable
name="viewModel"
type=".MyViewModel" />
</data>
......
......
. .....
<Button
onClick="@{()->viewModel.onMyButtonClicked()}"/>
<Button
onClick="@{(view)->viewModel.onMyButtonClicked(view)}"/>
</layout>
, затем Если вы хотите чтобы внести какие-либо изменения в Activity, вы должны использовать наблюдаемые переменные. эту наблюдаемую переменную, которую вы должны наблюдать в классе активности. в зависимости от значения, которое вы должны выполнить.