Size: a a a

Android Developers

2020 May 15

RP

Roman Prokopyev in Android Developers
Ну я обычно создаю интерфейс, который имеет метод onClick с необходимыми параметрами. В активности я его реализую и передаю в конструктор адаптера для ресайклера. А в самом адаптере при нажатии вызываю метод этого интерфейса
источник

RP

Roman Prokopyev in Android Developers
Поправьте, если можно сделать лучше
источник

Н

Николай in Android Developers
Roman Prokopyev
Поправьте, если можно сделать лучше
А как с такой реализацией в онклике взаимодействовать с view елементами холдера?
источник

RP

Roman Prokopyev in Android Developers
Не совсем понял
источник

V

Vanechka777 in Android Developers
Roman Prokopyev
Поправьте, если можно сделать лучше
Можно использовать viewModel
источник

Н

Николай in Android Developers
Roman Prokopyev
Не совсем понял
Ну в холдере холдер связывается с вьюшками и получается елемент ресайкл вью.
Скажем у меня елемент - визитка человека.

В холдере лежат данные о человеке и отдельно есть лейаут. Что бы отобразить это на екране нужно их связать.
А при онклике если мне нужно взять информацию с холдера то как я это сделаю?
источник

Н

Николай in Android Developers
Vanechka777
Можно использовать viewModel
Есть у меня viewModel. Как её к ресайкл вью прикрутить?
Насколько я гуглил то гугл не рекомендует использовать елементы android во viewModel
источник

RP

Roman Prokopyev in Android Developers
У тебя холдер соответствует какому-то элементу из списка, который ты рисуешь, можно взять данные из этого элемента
источник

Н

Николай in Android Developers
Roman Prokopyev
У тебя холдер соответствует какому-то элементу из списка, который ты рисуешь, можно взять данные из этого элемента
А как мне его взять если я передаю реализацию onClickListener в конструктор адаптера?
источник

V

Vanechka777 in Android Developers
Николай
Есть у меня viewModel. Как её к ресайкл вью прикрутить?
Насколько я гуглил то гугл не рекомендует использовать елементы android во viewModel
Храни переменную String imageUrl в вьюмодел, в листенере при клике задавай туда новый юрл, в чем проблема?
источник

Н

Николай in Android Developers
Прости за тупые вопросы но правда я хз
источник

Н

Николай in Android Developers
Vanechka777
Храни переменную String imageUrl в вьюмодел, в листенере при клике задавай туда новый юрл, в чем проблема?
Хммм, норм так идея)
источник

D

Dmitry in Android Developers
Ребята. Подскажите пожалуйста где можно найти пример TabbedActivity с точечками внизу. Типа листаешь и точка перемещается. Чот я даже загуглить никак не могу это (
источник

RP

Roman Prokopyev in Android Developers
Николай
А как мне его взять если я передаю реализацию onClickListener в конструктор адаптера?
Прокидывай слушатель через onBindViewHolder в сам холдер
источник

RP

Roman Prokopyev in Android Developers
В активности получишь событие по клику и не надо будет брокасты юзать :)
источник

V

Vanechka777 in Android Developers
Dmitry
Ребята. Подскажите пожалуйста где можно найти пример TabbedActivity с точечками внизу. Типа листаешь и точка перемещается. Чот я даже загуглить никак не могу это (
источник

Н

Николай in Android Developers
Roman Prokopyev
Прокидывай слушатель через onBindViewHolder в сам холдер
Да это я умею. Просто как мне в слушателе написать код, который пытается взаимодействовать с областью видимости к которой у него нет доступа? Стандартный View,OnClickListener имеет на входе только view для которого был вызван. Как ему получить доступ к полям холдера?
источник

RP

Roman Prokopyev in Android Developers
Так ты в onClickListener можешь вызывать метод твоего слушателя и уже туда передать все что тебе надо)
источник

Н

Николай in Android Developers
Roman Prokopyev
Так ты в onClickListener можешь вызывать метод твоего слушателя и уже туда передать все что тебе надо)
Вот сейчас шаблон розорвало. Мож показать пример хотя б псевдокодом, пожалуйста, если не трудно
источник

V

Vanechka777 in Android Developers
Николай
Да это я умею. Просто как мне в слушателе написать код, который пытается взаимодействовать с областью видимости к которой у него нет доступа? Стандартный View,OnClickListener имеет на входе только view для которого был вызван. Как ему получить доступ к полям холдера?
В классе адаптера создаешь интерфейс листенер. Инициализируешь его допустим в конструкторе адаптера. Потом при клике на элемент ресиклерВью вызываешь метод из этого листенера
источник