报错信息为:java.lang.IllegalStateException: The specified child already has a parent.

本文主要是介绍报错信息为:java.lang.IllegalStateException: The specified child already has a parent.,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

报错信息为:java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child’s parent first.
首先,如果你看到这篇文章,说明你已经搜了很多篇了(首页可能字数都不够,但是又不甘心收获不能普度众生……),所以我想声明一下,你一定不要抱着直接找到源码解决问题的想法,要找方法,发现问题解决问题的方法!
好了,正如报错信息提示的,说明你现在要操作的这个View已经有了一个父View,所以你要找是不是那个地方,比如创建这个View时,调用了addView的方法等等,使它有了一个不知名的父类(只是你不知道而已)
这种问题普遍出现在动态添加View时,会出现。比如,有些项目把某一个控件如LinearLayout等,弄出来当作全局变量了,以便在其他地方直接调用addView进行动态添加,注意如果你在声明LinearLayout 时,试着紧跟着它动态添加一个view,没问题——那说明全局调用也绝对能用!所以,问题一定出在你创建自己定义的View时调用了addView等等别的方法,使得其有了父类,抑或是其本来就有父类,你不注意,所以自然要报错。
比如一下就是从网上直接拷来的自定义View的模板

public class CustomView extends RelativeLayout{    View mView=null;public Weather(Context context) {super(context);LayoutInflater mInflater = LayoutInflater.from(context);mView = mInflater.inflate(R.layout.weather, null);addView(mView); }

你要是使用这个自定义控件肯定不能通过addView添加到其他的布局中去,会报如题的错误,因为它已经有父类了(代码中addView(myView);使它有了父类,虽然没人知道其父类是谁~),所以必须要注释掉addView(myView);这个CustomView才是一个独立的View。

这篇关于报错信息为:java.lang.IllegalStateException: The specified child already has a parent.的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/756511

相关文章

详解Java如何向http/https接口发出请求

《详解Java如何向http/https接口发出请求》这篇文章主要为大家详细介绍了Java如何实现向http/https接口发出请求,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用Java发送web请求所用到的包都在java.net下,在具体使用时可以用如下代码,你可以把它封装成一

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

Java 字符数组转字符串的常用方法

《Java字符数组转字符串的常用方法》文章总结了在Java中将字符数组转换为字符串的几种常用方法,包括使用String构造函数、String.valueOf()方法、StringBuilder以及A... 目录1. 使用String构造函数1.1 基本转换方法1.2 注意事项2. 使用String.valu

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

Spring MVC如何设置响应

《SpringMVC如何设置响应》本文介绍了如何在Spring框架中设置响应,并通过不同的注解返回静态页面、HTML片段和JSON数据,此外,还讲解了如何设置响应的状态码和Header... 目录1. 返回静态页面1.1 Spring 默认扫描路径1.2 @RestController2. 返回 html2

C#实现获取电脑中的端口号和硬件信息

《C#实现获取电脑中的端口号和硬件信息》这篇文章主要为大家详细介绍了C#实现获取电脑中的端口号和硬件信息的相关方法,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 我们经常在使用一个串口软件的时候,发现软件中的端口号并不是普通的COM1,而是带有硬件信息的。那么如果我们使用C#编写软件时候,如

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去