I'm trying to inflate atleast two layout in FirestoreRecyclerAdapter but it seems there is no declaration in FirestoreRecyclerAdapter for dual layout, because I'm facing problem on onCreateViewHolder(), take a look:
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) {
if (viewType == TYPE_ONE){
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.category_item_layout, viewGroup, false);
return new MainCategoryHolder(view);
}else if (viewType == TYPE_TEST){
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.test_layout_item, viewGroup, false);
return new TestLayoutHolder(view);
}
}
Here is what I'm getting:
'onCreateViewHolder(ViewGroup, int)' in 'Anonymous class derived from com.firebase.ui.firestore.FirestoreRecyclerAdapter' clashes with 'onCreateViewHolder(ViewGroup, int)' in 'android.support.v7.widget.RecyclerView.Adapter'; attempting to use incompatible return type
I know what error says but, what is the alternatives of this, it is piece of cake with the normal recyclerview via using the same getItemViewType, but I can not find a way to implement for FirestoreRecyclerAdapter, is it even possible?
Here is my getItemViewType()
@Override
public int getItemViewType(int position) {
if (position % 2 == 0){
return TYPE_TEST;
}else {
return TYPE_ONE;
}
}