You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Firebase开发setAdapter不兼容FirestoreRecyclerAdapter报错如何解决

问题根源

报错是AndroidX和旧版Support库的RecyclerView类不兼容导致的:

  • 项目中使用的RecyclerView是androidx.recyclerview.widget.RecyclerView,对应的ViewHolder必须继承AndroidX版本的实现
  • 自定义的NoteViewHolder继承的是废弃的旧Support库类android.support.v7.widget.RecyclerView.ViewHolder
  • 两类不通用导致FirestoreRecyclerAdapter的泛型参数不符合setAdapter的入参要求,触发类型不匹配错误。

解决步骤

  • 第一步:修改NoteViewHolder的父类,替换为AndroidX版本的ViewHolder
    将原来的内部类代码:
    public class NoteViewHolder extends android.support.v7.widget.RecyclerView.ViewHolder
    
    修改为:
    public class NoteViewHolder extends ViewHolder
    
    你代码顶部已经导入了androidx.recyclerview.widget.RecyclerView.ViewHolder,直接简写即可,也可以写完整路径androidx.recyclerview.widget.RecyclerView.ViewHolder。
  • 第二步:重新构建项目,报错即可消失,原有业务逻辑不需要做其他修改。

可选优化(非必填,解决列表滚动时头像错乱问题)

当前你在onBindViewHolder中直接使用全局的mimageviewofuser加载头像,列表滚动时会出现头像显示错位的问题,建议调整:

  1. 将mimageviewofuser移到NoteViewHolder内部作为成员变量
  2. 绑定数据时从noteViewHolder中取头像控件加载图片即可。

内容的提问来源于stack exchange,提问作者ABDELLATIF LAGHJAJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 22:15:02