您的位置:首页 > 其它

报错:The specified child already has a parent. You must call removeView

2017-02-02 12:35 609 查看

一、原因

一般出现这种问题的原因都是因为你之前给一个view添加了一个莫名的父view而自已还未发现,而后后来又添加了一次,因此导致出现了问题

二、例子

@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

View itemView = LayoutInflater.from(context).inflate(R.layout.zhihu_layout_item, parent);

ZhihuViewHolder viewHolder = new ZhihuViewHolder(itemView);
return viewHolder;
}


这是在写RecycleView的adapter的onCreateViewHolder方法,如果是按这样写, 则会报标题所示的错误,解决方法吧inflate方法的parent修改为null。如下:

@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(context).inflate(R.layout.zhihu_layout_item, parent);
ZhihuViewHolder viewHolder = new ZhihuViewHolder(itemView);
return viewHolder;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐