10-05 23:39:48.187: E/AndroidRuntime(12854): Caused by: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
10-05 23:39:48.187: E/AndroidRuntime(12854): at android.view.ViewGroup.addViewInner(ViewGroup.java:1976)
10-05 23:39:48.187: E/AndroidRuntime(12854): at android.view.ViewGroup.addView(ViewGroup.java:1871)
10-05 23:39:48.187: E/AndroidRuntime(12854): at android.view.ViewGroup.addView(ViewGroup.java:1828)
10-05 23:39:48.187: E/AndroidRuntime(12854): at android.view.ViewGroup.addView(ViewGroup.java:1808)
10-05 23:39:48.187: E/AndroidRuntime(12854): at com.solar.WaterLevelActivity.InitUnitTimeLowestWaterLevel(WaterLevelActivity.java:49)
10-05 23:39:48.187: E/AndroidRuntime(12854): at com.solar.WaterLevelActivity.InitView(WaterLevelActivity.java:30)
10-05 23:39:48.187: E/AndroidRuntime(12854): at com.solar.WaterLevelActivity.onCreate(WaterLevelActivity.java:25)
10-05 23:39:48.187: E/AndroidRuntime(12854): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
10-05 23:39:48.187: E/AndroidRuntime(12854): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
10-05 23:39:48.187: E/AndroidRuntime(12854): ... 11 more

补充说明InitUnitTimeLowestWaterLevel()在OnCreate函数中被调用,用来初始化界面。实现的效果是动态添加界面。

下面是出错的代码

1     private void InitUnitTimeLowestWaterLevel() {
2 LinearLayout listMachines = (LinearLayout) findViewById(R.id.water_level_page_water_level_setting);
3 LayoutInflater inflater = LayoutInflater.from(WaterLevelActivity.this);
4 View tlWaterLevelInfo = inflater.inflate(R.layout.unit_time_water_level_item, null);
5 listMachines.addView(tlWaterLevelInfo);
6 listMachines.addView(tlWaterLevelInfo); //这个地方出错了。
7 }

错误的原因:通过LayoutInflater实例化的一个布局(View)。被重复添加了两次。而一个View只能有一个父控件。当第二次添加的时候,又要改变这个控件的父控件(虽然是同一个父控件,但是也要通过改变该View的父控件来实现)。运行时又不允许一个有父控件的子控件在有了一个父控件时,改变他的父控件。

解决方案:重新用布局文件实例化一个子控件,再添加到父控件上。

最新文章

  1. Android接入支付宝和银联
  2. Redis学习笔记(4) Redis事务、生存时间及排序
  3. 赴美工作常识(Part 4 - 面试)
  4. C#语法糖(Csharp Syntactic sugar)大汇总
  5. 给日志添加“复制”效果
  6. A+B问题 涉及EOF
  7. text-overflow 与 word-wrap:设置使用一个省略标记...标示对象内文本的溢出。
  8. 想找个计算器当本命?来试试UWP应用《纸书科学计算器》
  9. BZOJ 1143: [CTSC2008]祭祀river 最长反链
  10. mysql解压版配置
  11. SQL Server 2012 - Transact-SQL
  12. 前端mv框架下(目前写的是vue),对组件抽象的思考
  13. 18.Odoo产品分析 (二) – 商业板块(10) – 电子商务(2)
  14. 『TensorFlow』读书笔记_简单卷积神经网络
  15. linux下怎样查看哪些进程占用swap空间
  16. 删除oracle 表中重复数据sql语句、保留rowid最小的一条记录
  17. 【WPF】ListBox嵌套与事件冒泡
  18. Java 多线程 ---- 线程中this与 Thread.currentThread()线程的区别
  19. Win7 搭建pptpvpn服务器方法
  20. python os模块常用命令

热门文章

  1. [HTML]js实现页面跳转,页面A跳到另一个页面B.以及页面传值(中文)
  2. [ios][swift]swift 怎么去除 optional
  3. ACM题目————士兵杀敌(四)
  4. 【转】MYSQL入门学习之五:MYSQL的字符集
  5. HTML,javaScript,DOM详解
  6. Unity-Animato深入系列---FloatValue阻尼
  7. Git学习笔记03--git reset
  8. 监控windows服务,当服务停止后自动重启服务
  9. Android编译选项eng、user、userdebug的区别
  10. javascript耐人寻味