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

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

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

    }

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

猜你喜欢

转载自blog.csdn.net/ShiXinXin_Harbour/article/details/118091773