@ymi

Реализация click listener в RecyclerView?

Добрый день! Очень часто в примерах встречаю логику обработки клика непосредственно в адаптере RecyclerView, и в связи с этим возник вопрос - разве не нужно разделять адаптер и логику? Ведь можно в адаптере повесить листенер на вьюху, а обработку писать уже в другом классе? Тем не менее, часто вижу что логику пишут прям в адаптере. Насколько распространена такая практика в реальных проектах, есть ли какие-нибудь conventions или best practices на этот счет?
  • Вопрос задан
  • 969 просмотров
Пригласить эксперта
Ответы на вопрос 4
orcDamnar
@orcDamnar
Java, C/C++, Android SDK
Обязательно. Ставим RecyclerView.OnItemsTouchListener в нем переопределяем onInterceptTouchEvent() - если необходимо обрабатывать для для пришедшего ивента - то вызваем метод onTouchEvent() созданного ранее GestureDetector с реализованным и установленным GestureListener, в котором обрабатываем необходимый нам тач. Только так.
Ответ написан
@Tiberal
В наследнике ViewHolder на вьюху которая передается в конструктор вешаете листенер(на рутовую или нет) самый простой и логичный способ.
Ответ написан
gadfi
@gadfi
https://gamega.org
мне нравится для этого дела EventBus использовать, можно интерфейс через конструкто передавать кому как нравится и в зависимости от ситуации
Ответ написан
Комментировать
@Artemych
Однозначно разделать логику и GUI.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы