Как составить список строк с помощью recyclerView и карты? Могу ли я использовать вложенный RecyclerView? - PullRequest
0 голосов
/ 13 апреля 2020

Я пытаюсь создать row list, используя RecyclerView, как Android TV ↳ android.support.v17.leanback.widget.ListRow. Я могу создать список с заголовком, но не список строк. Кто-нибудь может мне помочь?

enter image description here

Ответы [ 2 ]

1 голос
/ 13 апреля 2020

Пожалуйста, перейдите по этой ссылке для

Recycer view как play store

Использовать Two RecyclerView Outer Recycler является вертикальным, а второй горизонтальный переработчик является элементом первого переработчика Просмотреть все вы необходимо вызвать mInnerRecycler.setNestedScrollingEnabled (false); на ваших внутренних RecyclerViews и используйте горизонтальную прокрутку в виде root mInnerRecyclerView

Объяснение:

RecyclerView поддерживает вложенную прокрутку, представленную в API 21 посредством реализации интерфейса NestedScrollingChild. Это полезная функция, когда у вас есть прокручиваемое представление внутри другого, которое прокручивается в том же направлении, и вы хотите прокручивать внутреннее представление только в фокусе.

В любом случае RecyclerView по умолчанию вызывает RecyclerView.setNestedScrollingEnabled ( правда); на себя при инициализации. Теперь вернемся к проблеме, поскольку оба ваших RecyclerViews находятся в одном и том же ViewPager с AppBarBehavior, CoordinateLayout должен решить, на какую прокрутку реагировать, когда вы прокручиваете из своего внутреннего RecyclerView; когда вложенная прокрутка вашего внутреннего RecyclerView включена, он получает фокус прокрутки, и CoordinateLayout будет реагировать на его прокрутку поверх прокрутки внешнего RecyclerView. Дело в том, что, поскольку ваши внутренние RecyclerViews не прокручиваются вертикально, изменения вертикальной прокрутки не происходит (с точки зрения CoordinateLayout), и если нет изменений, AppBarLayout также не изменяется.

В вашем случае, поскольку ваши внутренние RecyclerViews прокручиваются в другом направлении, вы можете отключить его, в результате чего CoordinateLayout игнорирует его прокрутку и реагирует на внешнюю прокрутку RecyclerView.

Примечание:

Атрибут xml android: nestedScrollingEnabled = "boolean" не предназначен для использования с RecyclerView, и попытка использовать android: nestedScrollingEnabled = "false" приведет к исключению java .lang.NullPointerException, так что По крайней мере, сейчас вам придется делать это в коде.

0 голосов
/ 13 апреля 2020

RecyclerView может проверить тип представления для возвращаемого заголовка или элемента. И используйте менеджер раскладки для управления направлением прокрутки элемента.

RecyclerView (вертикальная прокрутка) - элемент -> RecyclerView (горизонтальная прокрутка) проверяет тип представления - заголовок или элемент с примером условия: есть ли у объекта тип заголовка

Ссылка: Google play store как интерфейс с использованием рециркуляции

...