У меня есть вложенный RecyclerViews
, и каждая строка / элемент этого recyclerView тоже является recyclerView, и есть внешние события, которые обновят элемент во внутреннем recyclerView. Мой onBindViewHolder внешнего адаптера RecyclerView выглядит так
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
GiftWrappingHorizontalViewHolder viewHolder = (GiftWrappingHorizontalViewHolder) holder;
viewHolder.giftWrappingRecyclerView.setLayoutManager(new LinearLayoutManager(viewHolder.giftWrappingRecyclerView.getContext(),
RecyclerView.HORIZONTAL, false));
viewHolder.topTextView.setText(dataList.get(position).getTopTextName());
if(dataList.get(position).getType() == 1) {
GiftWrappingHorizontalAdapter adapter = new GiftWrappingHorizontalAdapter(dataList.get(position)
.getItems(), position);
viewHolder.giftWrappingRecyclerView.setAdapter(adapter);
viewHolder.giftWrappingRecyclerView.setItemAnimator(null);
adapter.setGiftWrappingHorizontalClickListener(giftWrappingHorizontalClickListener);
} else if(dataList.get(position).getType() == 0){
GiftWrappingAddOnsAdapter adapter = new GiftWrappingAddOnsAdapter(dataList.get(position)
.getItems(), position);
viewHolder.giftWrappingRecyclerView.setAdapter(adapter);
viewHolder.giftWrappingRecyclerView.setItemAnimator(null);
adapter.setGiftWrappingAddOnEventsListener(giftWrappingAddOnEventsListener);
}
}
Так что, как вы можете видеть, я связываю внутренние recyclerViews с его адаптерами внутри onBindViewHolder и хочу обновить конкретный c элемент Внутренний recyclerView без вызова notifiyItemChanged, потому что это воссоздает внутренние адаптеры, которые разбиты на страницы, и будет вызывать первую страницу только потому, что внутренние RecyclerViews используют HORIZONTAL LinearLayoutManager.
Есть ли что-нибудь, чтобы достичь этого путем доступа к элементу RecyclerView по своей позиции и вызов notifiyItemChanged для внутреннего RecyclerView?