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

RecyclerView报错:ViewHolder创建时视图不可附加,修改参数仍未解决

解决RecyclerView ViewHolder视图已附加的异常问题

可能的原因及排查步骤

1. 检查item布局文件(item.xml)

确保你的item布局的根视图没有被错误地附加到其他父容器:

  • 避免在item布局中使用<merge>标签(RecyclerView的ViewHolder不允许这种场景下的视图附加)
  • 确认item布局的根视图是独立的,没有嵌套在已被添加到其他布局的容器中

2. 排查外部代码的视图附加操作

检查对应的Activity/Fragment代码,确认没有提前inflated R.layout.item并将其附加到某个ViewGroup,再把这个已附加的视图传入Adapter。

3. 修正LayoutInflater调用方式

尝试使用parent的上下文获取LayoutInflater,避免Context不一致的问题:

@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
    LayoutInflater inflater = LayoutInflater.from(parent.getContext());
    View v = inflater.inflate(R.layout.item, parent, false);
    return new MyViewHolder(v);
}

4. 检查RecyclerView初始化逻辑

确认在Activity/Fragment中初始化RecyclerView时,没有直接将item视图添加到RecyclerView,完全通过Adapter管理视图创建与绑定。

5. 清理重建项目

缓存问题可能引发此类异常,尝试清理项目build缓存后重新编译运行。

补充说明

你当前的Adapter代码逻辑无明显问题,异常大概率来自item布局或外部代码对视图的不当操作,按上述步骤逐一排查即可定位问题。

内容的提问来源于stack exchange,提问作者Samarth Adat

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 02:28:27