Задать вопрос
@SimpleName

Как сделать так, чтобы RecyclerView открывал другой RecycleView и заполнял его данными в зависимости от выбранного элемента?

Вот пример из приложения McDonalds, где в фрагменте "Меню" есть RecyclerView, при нажатии на любой элемент которого появляется точно такой же RecyclerView (только с измененным наполнением, которое зависит от выбранного элемента),и при следующем нажатии это снова повторяется. Как можно реализовать точно такую же навигацию? (и как передавать данные о выбранной кнопке в такой сложной структуре) Кто уже сталкивался с этим?
5c53fa183e541233196413.png
  • Вопрос задан
  • 144 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
@onepavel
Консультация и разработка мобильных приложений
Сходу по описанию приходит на ум два варианта: пересоздавать фрагмент с ресайклером или создавать новый адаптер для текущего ресайклера
Ответ написан
zagayevskiy
@zagayevskiy Куратор тега Java
Android developer at Yandex
Нужно уйти мыслями с уровня ресайклервью. Этот элемент всего лишь отображает данные, ничего он открывать не будет. Нужно взять фрагменты (Fragment), и организовать иерархию экранов на них. Предусмотреть, какие данные нужны в следующем экране, передать их в соответствующий фрагмент и отобразить.
Ответ написан
Комментировать
@Dmtm
Android
передать в адаптер обработчик действия
setMyChangeDataCallback(ISomeKindChangeDataCallback callback),

в адаптере на
onClickLister() { ... callback.doChangeData(int param1,....); }

реализация обработчика во фрагменте
ISomeKindChangeDataCallback callback = new ISomeKindChangeDataCallback() {
void doChangeData(int param1,....) {
//если данные уже есть то
      adaper.setData(новые данные).doRefreshNowAndImmediatelly();
//иначе запросить данные
}
Ответ написан
Ваш ответ на вопрос

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

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