yaccke 2009-09-28 10:17
浏览 496
已采纳

重新加载View时,报You must call removeView() on ....的错误

我有段代码
if(gifView==null){
gifView = new GIFView(this);
pnlwelcome_row1.addView(gifView );// 第一次运行时 正常....

}else{
pnlwelcome.removeView( gifView );
pnlwelcome_row1.removeView(gifView);

pnlwelcome_row1.removeAllViews();
pnlwelcome_row1.refreshDrawableState();
gifView.getParent().recomputeViewAttributes(gifView);
pnlwelcome_row1.addView(gifView ); // 第二次运行时 报这个错误了,为什么?我不是pnlwelcome_row1.removeAllViews();了么???
}

做UI 的时候 ,估计大家也碰到类似的情况。怎么解决的??

报 09-28 01:49:54.688: ERROR/AndroidRuntime(1032): java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.

//pnlwelcome_row1.addView(gifView );
如果我注释这一句,程序不报错。但第二次进入 welcomepnl面板时。 gifView 显示不出来了。

  • 写回答

1条回答 默认 最新

  • 李文栋 2009-09-29 00:20
    关注

    gifView 和 pnlwelcome_row1 之间建立的是双向关联,
    虽然 pnlwelcome_row1 remove 了 gitView, 但是 gifView 仍然关联着 pnlwelcome_row1。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算