java.lang.IllegalStateException:指定的子级已具有父级。必须对子对象&x27;调用removeView();她先是父母

java.lang.IllegalStateException:指定的子级已具有父级。必须对子对象&x27;调用removeView();她先是父母,java,android,android-2.2-froyo,Java,Android,Android 2.2 Froyo,这是我的代码: Frame.gameController.test(); setContentView(Frame.world.getScreen()); Frame.world.setRunning(true); 在第二行,我得到以下错误: ERROR/AndroidRuntime(15229): Caused by: java.lang.IllegalStateException: The specified child already has a parent. You must cal

这是我的代码:

Frame.gameController.test();
setContentView(Frame.world.getScreen());
Frame.world.setRunning(true);
在第二行,我得到以下错误:

ERROR/AndroidRuntime(15229): Caused by: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
有人能帮我解决吗?以前它工作得很好,当我在另一个活动中使用它时,问题就开始了


我使用的是android 2.2。

您不能在多个活动中使用同一视图。相反,您应该创建视图的一个新实例。

可能您正试图从已具有父对象的对象中设置内容。看起来您在一个活动中设置了一些视图,例如:

TextView tv = new TextView();
layout.adView(tv);
layout2.adView(tv);
当您尝试将该电视添加到其他布局时,会出现该错误。在您的情况下,这是因为一个活动中的布局试图设置为另一个活动中的子活动


你必须先从其他家长那里释放孩子。

我正在画布上画画,如果有帮助,请给我一个例子,有链接吗?如何正确执行?@KISHORDATTAGUPTA它看起来像Frame.world.getScreen()正在获取一个共享实例。你可能应该创建一个新的实例。举个什么例子?你几乎没有给我们任何代码,没有任何目的。我刚才向你解释了你得到例外的原因。@emjam,谢谢你的解释。但是我对android非常陌生,所以我不明白我唯一的活动是如何被共享的。你说你从另一个活动中检索到了视图。与其检索视图,不如将新视图充气。或者,也许你不需要第二项活动,而应该坚持一项活动。一切取决于你的任务。