我正在尝试在FirestoreRecyclerAdapter中膨胀至少两个布局,但似乎在FirestoreRecyclerAdapter中没有针对双重布局的声明,因为我在onCreateViewHolder()上遇到问题,请看一下:
@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);
}
}
这就是我得到的:
“从com.firebase.ui.firestore.FirestoreRecyclerAdapter派生的匿名类”中的“ onCreateViewHolder(ViewGroup,int)”与“ android.support.v7.widget”中的“ onCreateViewHolder(ViewGroup,int)”相冲突。 RecyclerView.Adapter';尝试使用不兼容的返回类型
我知道发生了什么错误,但是,有什么替代方法,通过使用相同的getItemViewType与普通的recyclerview相比,这简直是小菜一碟,但是我找不到实现FirestoreRecyclerAdapter的方法,甚至有可能吗? / p>
这是我的 getItemViewType()
@Override
public int getItemViewType(int position) {
if (position % 2 == 0){
return TYPE_TEST;
}else {
return TYPE_ONE;
}
}