android - 在 FirestoreRecyclerAdapter 中膨胀多个布局
问题描述
我正在尝试在 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.RecyclerView.Adapter”中的“onCreateViewHolder(ViewGroup, int)”发生冲突;尝试使用不兼容的返回类型
我知道错误在说什么,但是,有什么替代方法,通过使用相同的 getItemViewType,它与普通的 recyclerview 是小菜一碟,但我找不到实现 FirestoreRecyclerAdapter 的方法,甚至可能吗?
这是我的getItemViewType()
@Override
public int getItemViewType(int position) {
if (position % 2 == 0){
return TYPE_TEST;
}else {
return TYPE_ONE;
}
}
解决方案
推荐阅读
- oauth - how to test jwt sample? and what are userid?
- c# - why string overloaded method is called over a object overlodaded method when the parameter is null
- php - 从 Woocommerce 中的名称更改新订单电子邮件通知
- oracle - incorporating how many times the DVDs have been checked out by customers across all libraries in my sql statement
- r - 这是编码问题吗?
- node.js - Angular7:无法设置 {responseType: 'text'}
- vba - 脚本在每次执行时只移动几个“收件箱”项目
- java - 无法与选定的 Hibernate 配置文件建立数据库连接。请验证 hibernate.cfg.xml 中的数据库连接详细信息
- amazon-web-services - 为什么即使其策略未选中 DELETEOBJECT 属性,用户仍可以从 S3 存储桶中删除对象?
- python - Keras Embedding,“权重”参数在哪里?