diff --git a/example-databinding/src/main/java/com/xwray/groupie/example/databinding/item/CarouselItem.java b/example-databinding/src/main/java/com/xwray/groupie/example/databinding/item/CarouselItem.java index bebfebf6..35e7820b 100644 --- a/example-databinding/src/main/java/com/xwray/groupie/example/databinding/item/CarouselItem.java +++ b/example-databinding/src/main/java/com/xwray/groupie/example/databinding/item/CarouselItem.java @@ -33,11 +33,11 @@ public GroupieViewHolder createViewHolder(@NonNull View ite RecyclerView recyclerView = viewHolder.binding.recyclerView; recyclerView.addItemDecoration(carouselDecoration); recyclerView.setLayoutManager(new LinearLayoutManager(recyclerView.getContext(), LinearLayoutManager.HORIZONTAL, false)); + recyclerView.setAdapter(adapter); return viewHolder; } @Override public void bind(@NonNull ItemCarouselBinding viewBinding, int position) { - viewBinding.recyclerView.setAdapter(adapter); } @Override public int getLayout() { diff --git a/example/src/main/java/com/xwray/groupie/example/item/CarouselItem.kt b/example/src/main/java/com/xwray/groupie/example/item/CarouselItem.kt index 44cf58ab..1e7b2841 100644 --- a/example/src/main/java/com/xwray/groupie/example/item/CarouselItem.kt +++ b/example/src/main/java/com/xwray/groupie/example/item/CarouselItem.kt @@ -1,5 +1,6 @@ package com.xwray.groupie.example.item +import android.view.View import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.xwray.groupie.GroupAdapter @@ -18,11 +19,17 @@ class CarouselItem(private val carouselDecoration: RecyclerView.ItemDecoration, return R.layout.item_carousel } + override fun createViewHolder(itemView: View): GroupieViewHolder { + return super.createViewHolder(itemView).apply { + recyclerView.apply { + layoutManager = LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false) + adapter = carouselAdapter + } + } + } + override fun bind(viewHolder: GroupieViewHolder, position: Int) { viewHolder.recyclerView.apply { - layoutManager = LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false) - adapter = carouselAdapter - // We don't know if the layout we're passed has been bound before so // we need to ensure we don't register the item decoration multiple times, // by trying to remove it first. (Nothing happens if it's not registered.)