java.lang.IllegalStateException:指定的子级已有父级。您必须首先在孩子的父母上调用removeView()

时间:2011-09-26 09:15:42

标签: 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 call removeView() on the child's parent first.

任何人都可以帮我解决吗?以前它工作得很好,当我把它带入另一个活动时,问题就开始了。

我正在使用android 2.2。

2 个答案:

答案 0 :(得分:11)

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

TextView tv = new TextView();
layout.adView(tv);
layout2.adView(tv);

当您尝试将该电视添加到不同的布局时,会出现该错误。在您的情况下,这是因为来自一个活动的布局试图在另一个活动中设置为子项。

你必须先从其他父母那里释放孩子。

答案 1 :(得分:10)

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