java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first

Kishor datta gupta picture Kishor datta gupta · Sep 26, 2011 · Viewed 20k times · Source

This is my code:

Frame.gameController.test();
setContentView(Frame.world.getScreen());
Frame.world.setRunning(true);

On the second line I am getting the following error:

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.

Can anyone help me solve it? Previously it was working just fine, the problem starts when I take it in another activity.

I'm using android 2.2.

Answer

Seraphis picture Seraphis · Sep 26, 2011

Maybe you are trying to set content from objects that already have parent. It looks like you set some views in one activity, for example:

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

and that error appears when you try to add that tv to different layout. In your situation it's because Layout from one activity is trying to be set as a child in the other activity.

You have to release child from other parent first.