androidperformanceandroid-layoutandroid-recyclerview

How do I layout nested RecyclerViews, while remaining performant?


I am trying to achieve something similar to Google Play Music's "Listen Now" layout. Every example I have found on the web is a single, simple RecyclerView. I am trying to achieve something much more complex. Something like

enter image description here

Can the whole layout (minus the toolbar) be a single RecyclerView, that contains two more RecyclerViews? Something like

Ultimately, what I want to achieve is a layout like the below, and stay performant.

<RecyclerView> //vertical
    <RecyclerView/> //vertical
    <RecyclerView/> //horizontal
    <LinearLayout/> //horizontal
</RecyclerView>

Solution

  • You can't take recyclerview inside recyclerview tag. Rather in your first adapter's bindViewHolder call again recyclerview adapter like:-

    InnerRecyclerviewAdapter adapter=new InnerRecyclerviewAdapter(context,urlistArray);
    holder.recyclerView.setAdapter(adapter);
    holder.recyclerView.setHasFixedSize(true);
    LinearLayoutManager layoutManager = new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false);
    recyclerView.setLayoutManager(layoutManager);
    

    wrap_content will also work with latest recyclerview

    for more info check out this link https://github.com/codepath/android_guides/wiki/Heterogeneous-Layouts-inside-RecyclerView