You must call removeView() on the child's parent first解决办法

2020-02-07 23:46:44

出现这样的情况最多是发生在recyclerView中,holder复用的过程中,多次添加view,第一次添加的时候view有了父类了,可能就是复用引起的。

我是发生在给recyclerView添加广告view的时候发生的。

解决办法:

if(view.getParent()!=null){
    ((ViewGroup) view.getParent()).removeView(view);
}


参看 :

本来很简单的一个功能,但是总是报The specified child already has a parent. You must call removeView() on the child's parent first.网上也找了很多的资料,大致都是说了原理.确没有说怎么解决.原理我就不说了,这个大家应该都知道原因.就是两个view共用一个ParentView.不明白的自己可以百度下.下面贴下源码.其实就是很简单的一句代码.加载完子View之后记得把它移除就好了.

  • 2017-02-24 16:53:58

    PHP 中的Closure

    Closure,匿名函数,又称为Anonymous functions,是php5.3的时候引入的。匿名函数就是没有定义名字的函数。这点牢牢记住就能理解匿名函数的定义了。

  • 2017-03-02 09:45:27

    动态加载js和css

    开发过程中经常需要动态加载js和css,今天特意总结了一下常用的方法。