android报错You must call removeView() on the child‘s parent first

女爷i 2022-10-08 12:29 410阅读 0赞

我的应用场景是用gsyVide做翻页视频的时候,套入了穿山甲广告视频,
//看下报错位置吧:
在这里插入图片描述
The specified child already has a parent. You must call removeView() on the child’s parent first错误信息翻译过来是:指定的子节点已经有父节点。你必须首先调用子节点的父节点的removeView()
我最终的解决方案是:先移除子视图,判断了一下添加的哪个view的parent布局也就是父布局是否为空,为空我再添加
如图所示:
在这里插入图片描述
主要代码:

  1. view = item.ad.getExpressAdView();
  2. Log.e(String.valueOf(view.getParent()), "视频的item2地址");
  3. if (view != null) {
  4. //移除子控件
  5. gsyVideoPlayer.removeAllViews();
  6. //当视图的父控件为null的时候
  7. if (view.getParent() == null) {
  8. gsyVideoPlayer.addView(view);
  9. }
  10. }

我遇到的场景,仅供参考
有问题请加我的技术群解答:
qq群:637866565

发表评论

表情:
评论列表 (有 0 条评论,410人围观)

还没有评论,来说两句吧...

相关阅读