Я изменил свой проект для использования привязки данных Android.
Все работает отлично, за исключением onTouchListener
в моем пользовательском SectorImageView
, который наследует AppCompatImageView
.Это должно быть событие OnTouch
вместо ClickListener
для обработки координат x и y клика.
Поскольку я реализовал привязку данных Android, ни один из моих слушателей не работал, поэтому я решил использовать XMLподход.
Вопрос
Есть ли способ обработать onTouchListener
простым добавлением OnTouchListener в класс без использования подхода XML?Почему слушатель больше не распознается при реализации привязки данных Android?
Вот код, с которым я пытался работать:
Java-код
@BindingAdapter("app:onTouchListener")
public boolean onTouch(View view, MotionEvent event) {
// do something
}
XML-макет
<x.y.z.SectorImageView
android:id="@+id/image_sector"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
app:onTouchListener="@{(view, event) -> onTouch(view, event)}"
app:srcCompat="@drawable/map" />
Ошибка
****/ data binding error ****msg:Cannot find method onTouch on ViewDataBinding