it is necessary to make scrolling as in playstore, but unfortunately recycleview displays incorrectly filling only the first element of the list with all elements. enter image description here

enter image description here

1st adapter

public class CategoryRecyclerAdapter extends RecyclerView.Adapter<CategoryRecyclerAdapter.CategoryViewHolder> { private ArrayList<CategoryReference> categoryReferences; private ArrayList<ReferenceRecyclerAdapter> referenceRecyclerAdapters = new ArrayList<>(); private Context context; public CategoryRecyclerAdapter(ArrayList<CategoryReference> categoryReferences, Context context) { this.categoryReferences = categoryReferences; this.context = context; } @Override public CategoryViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_recycler_reference, parent, false); CategoryViewHolder categoryViewHolder = new CategoryViewHolder(view); return categoryViewHolder; } @Override public void onBindViewHolder(CategoryViewHolder holder, int position) { final String categoryName = categoryReferences.get(position).getCategoryName(); ArrayList<References> referencesList = categoryReferences.get(position).getReferencesList(); holder.categoryName.setText(categoryName); ReferenceRecyclerAdapter referenceRecyclerAdapter = new ReferenceRecyclerAdapter(referencesList); holder.recycleItemReference.setHasFixedSize(true); holder.recycleItemReference.setLayoutManager(new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false)); holder.recycleItemReference.setAdapter(referenceRecyclerAdapter); } @Override public int getItemCount() { return (null != categoryReferences ? categoryReferences.size() : 0); } public static class CategoryViewHolder extends RecyclerView.ViewHolder { TextView categoryName; RecyclerView recycleItemReference; public CategoryViewHolder(View itemView) { super(itemView); categoryName = itemView.findViewById(R.id.tv_category_name); recycleItemReference = itemView.findViewById(R.id.reference_pager); } } 

2nd adapter

 public class ReferenceRecyclerAdapter extends RecyclerView.Adapter<ReferenceRecyclerAdapter.ReferenceViewHolder> { private ArrayList<References> referencesList; public ReferenceRecyclerAdapter(ArrayList<References> referencesList) { this.referencesList = referencesList; } @Override public ReferenceViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_previous_references, parent, false); ReferenceViewHolder referenceViewHolder = new ReferenceViewHolder(view); return referenceViewHolder; } @Override public void onBindViewHolder(ReferenceViewHolder holder, int position) { References itemRef = referencesList.get(position); holder.previousImage.setImageResource(itemRef.getImgPrevious()); holder.previousText.setText(itemRef.getTxtPrevious()); } @Override public int getItemCount() { return (null != referencesList ? referencesList.size() : 0); } public static class ReferenceViewHolder extends RecyclerView.ViewHolder { ImageView previousImage; TextView previousText; public ReferenceViewHolder(View itemView) { super(itemView); previousImage = itemView.findViewById(R.id.img_previous); previousText = itemView.findViewById(R.id.txt_previous); } } } 
  • show how you fill out the list of nested adapters, but in general try this library - github.com/vivchar/RendererRecyclerViewAdapter makes it very easy to add nested RecyclerView - Vitaly
  • I posted the code of the nested adapter. - Nikolai Pasyuk
  • I see the question is different - how the list for the adapter is formed, apparently it is just not the right one. onBindView() way, you do not need to create an adapter each time in the onBindView() method - you need to create it once for a cell, then simply replace the items there - Vitaly
  • categoryReferenceList = new ArrayList <> (); referencesList = new ArrayList <> (); referencesList.add (new References (" surviveclub.ru/wp-content/uploads/2016/04/Rwy0NUR85IM.jpg ", "file: ///android_asset/article.html")); referencesList.add (new References (" cdn.fishki.net/upload/post/201506/11/1563302/steik-pork.jpg ", "file: ///android_asset/article.html")); categoryReferenceList.add (new CategoryReference ("Category 1", " ck-magazine.ru/sites/default/files/field/image / ... ", referencesList)); - Nikolay Pasyuk
  • judging by what you got rid of - you fill only one category and get the corresponding result - Vitaly

0