The specified child already has a parent. You must call removeView() on the child's parent first
处理方法是在adapter里面:
@Override
public Object instantiateItem(ViewGroup container, int position) {
View itemView = mViews.get(position);
/*
* 这个问题是因为一个View只能隶属于一个parent,你的代码应该是changeView函数中的第二个循环中,
* 将itemView指向的View重新添加到container中去了
* 。只要在tableRow.addView(img)之前加上:((ViewGroup
* )itemView.getParent()).removeView(itemView);应该就可以了。
*/
((ViewGroup) itemView.getParent()).removeView(itemView);
container.addView(itemView);
return itemView;
}
本文介绍了一种在Android开发过程中遇到的问题:试图在一个父布局中重复添加同一个子View时出现的错误。通过调用removeView方法从原始父布局中移除View后再添加,可以有效解决该问题。
529

被折叠的 条评论
为什么被折叠?



