Как создать многоуровневый просмотрщик в Android kotlin? - PullRequest
0 голосов
/ 07 февраля 2020

Я хочу создать 3 уровня RecyclerView, как в виде дерева в kotlin. Есть ли уроки и предложения, пожалуйста, дайте мне знать.

Я уже столько раз пробовал с ExpandableListView и 3 RecyclerView, но не нашел правильного решения.

1 Ответ

0 голосов
/ 07 февраля 2020

Под многоуровневым RecyclerView вы подразумеваете RecyclerView с путями к различным спискам, которые разветвляются в зависимости от того, какой элемент был выбран? Если это так, я бы честно рекомендовал использовать один адаптер для циклического перебора нескольких списков в зависимости от ввода пользователя.

Если у вас есть список root, содержащий два элемента, каждый из которых открывает свой собственный список с собственным уникальным набором данных, вы можете легко реализовать код, который уведомляет адаптер о том, какой элемент в списке root был выбран. Оттуда адаптер может обновлять и переключать вид соответственно. Это можно применить к серии списков до тошноты, если вы того пожелаете, хотя я не могу сказать, что рекомендовал бы этот метод для невероятно сложных сетей списков, которые взаимодействуют друг с другом.

Как сказал Ирковер в их комментарий, я не думаю, что дерево также необходимо в этой ситуации, хотя бы потому, что (1), как уже говорилось, на самом деле это не лучшая практика для приложения, которое вы делаете, и (2) это может излишне усложнить то, что вы пытаетесь достичь с помощью этих путей ветвления. Если вы готовы / можете предоставить больше информации о том, что вы пытаетесь сделать здесь, это может помочь другим помочь вам более точно, чем я:)

Полное раскрытие здесь: сообщение в блоге, ссылка на которое приведена выше, не прямое совпадение, которое решит вашу проблему - оно относится конкретно к отображению различных типов наборов данных (из классов данных и того, что у вас есть), но использует код, который показывает, как различные наборы данных могут переключаться в одном RecyclerView. Даже если это не посланное Богом решение или только наполовину полезно для решения вашей проблемы, я думаю, что оно может предоставить вам некоторую полезную информацию.

...