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之后记得把它移除就好了.

  • 2020-03-03 09:51:38

    写一个可插入自定义标签的 Textarea 组件

    为了实现这个功能,我最先想的是改造一个 <textarea> 然后我想到了 contenteditable (链接指向 mozilla.org) 这一属性 这是一个 html5 的属性,可以让元素内容可编辑

  • 2020-03-03 20:18:21

    Vuepress如何做到在 Markdown 中使用 Vue 语法

    在 vuepress 刚出时,我就觉得这是个很值得追更的开源项目。果不其然,里面众多的前端编程技巧让我受益良多。 于是在周末这种日子里,人家追剧我追码。 今天,我就和大家分享下 vuepress 是如何做到在 Markdown 中使用 Vue 语法的。

  • 2020-03-03 21:35:57

    PWA:安装 Web 应用

    要完整介绍 PWA 是什么,需要扯一堆名词,毫无意义。 以改造公羊阅读的过程为例,简要的说明什么是 PWA。

  • 2020-03-04 13:00:23

    NPM酷库:minimist,命令行参数解析

    昨天我们了解的dotenv库用于从文件中加载环境变量。环境变量用于程序运行时动态加载参数,除了环境变量,我们还可以在启动Node.js 程序时直接指定命令行参数: