Как узнать положение элемента, показанного в моем обзоре утилизатора, снаружи адаптера? - PullRequest
0 голосов
/ 20 января 2020

У меня есть RecyclerView с фиксированным количеством предметов. Я реализовал SnapHelper, чтобы гарантировать, что одновременно виден только один CardView элемент. Как я могу получить позицию CardView снаружи класса адаптера? Позиция должна быть возвращена onCreate и onSwipe к следующему CardView элементу. Я пытался использовать setTag() в своем onBindViewHolder классе и getTag() в своей деятельности, но это не помогло.

Текущий код:

LinearLayoutManager linearLayoutManagerOne = new LinearLayoutManager(getContext(), LinearLayoutManager.HORIZONTAL, false);
recyclerHomeFavouriteTable.setLayoutManager(linearLayoutManagerOne);
SnapHelper snapHelper = new PagerSnapHelper();
snapHelper.attachToRecyclerView(recyclerHomeFavouriteTable);

1 Ответ

0 голосов
/ 20 января 2020

Чтобы получить рециркулятора, просмотрите позицию элемента. Есть два метода

getLayoutPostion()

Возвращает позицию ViewHolder в терминах последнего прохода макета. Эта позиция в основном используется компонентами RecyclerView для обеспечения согласованности, пока RecyclerView лениво обрабатывает обновления адаптера.

getAdapterPosition()

Возвращает позицию адаптера элемента, представленного этим ViewHolder

они оба принадлежат ViewHolder, поэтому, я думаю, вы можете установить тег для держателя элемента. затем получите ViewHolder в соответствии с тегом, затем используйте ViewHodler, чтобы получить позицию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...