我有一个嵌套的RecyclerViews
,此recyclerView的每一行/每个项目也是一个recyclerView,并且有一个外部事件将更新内部recyclerView中的一个项目。我的外部RecyclerView适配器的onBindViewHolder看起来像这样
@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内部的适配器上并且我想更新内部recyclerView的特定项目而不调用notifiyItemChanged,因为这将重新创建已分页的内部适配器,并且仅在内部RecyclerViews使用HORIZONTAL LinearLayoutManager的情况下才调用第一页。
通过按位置访问recyclerView的某个项目并调用notifiyItemChanged到内部RecyclerView来实现这一点吗?>>
我有一个嵌套的RecyclerViews,此recyclerView的每一行/每个项目也是一个recyclerView,并且有一个外部事件将更新内部recyclerView中的一个项目。我的外部onBindViewHolder ...
您可以尝试使用notifyItemChanged()
notifyItemChanged()