3

How to add dividers/spaces between Adapters of concatadapter in Recylerview

We can create ConcatAdapter using multiple adapters in Android using

concatenated = new ConcatAdapter(adaplterlist);
        recyclerView.setAdapter(concatenated);

I want to create a horizontal recylerview using

recyclerView.setLayoutManager(new LinearLayoutManager(getActivity(),
                RecyclerView.HORIZONTAL, false));

However I want to have a divider or space bewteen 2 Adapters , Like the Image below

enter image description here

DividerItemDecoration is not useful.

how can we do this.

1234567
  • 2,226
  • 4
  • 24
  • 69

1 Answers1

2

You could try adding another adapter between two adapters with 1 item in it and set view's size to exact space you need.

class SpaceItemAdapter(private val spacingPx: Int) : RecyclerView.Adapter<SpaceItemViewHolder>() {

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): SpaceItemViewHolder {
        val view = FrameLayout(parent.context).apply {
            layoutParams = ViewGroup.LayoutParams(spacingPx, 1)
        }
        return SpaceItemViewHolder(view)
    }

    override fun onBindViewHolder(holder: SpaceItemViewHolder, position: Int) {}

    override fun getItemCount() = 1
}

class SpaceItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView)
Marat
  • 6,142
  • 6
  • 39
  • 67