2011-09-26 9 views
7

Este es mi código:java.lang.IllegalStateException: el hijo especificado ya tiene un padre. Debe llamar RemoveView() en el padre del niño primero

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

En la segunda línea que estoy recibiendo el siguiente 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. 

Puede alguien ayudarme a resolverlo? Anteriormente funcionaba bien, el problema comienza cuando lo tomo en otra actividad.

Estoy usando Android 2.2.

+0

dibujo en lienzo, si ayuda –

Respuesta

10

No puede usar la misma vista en actividades múltiples. En su lugar, debe crear una nueva instancia de la vista.

+1

¿me puede dar un ejemplo, algún enlace? a cómo hacerlo de manera correcta? –

+1

@KISHORDATTAGUPTA parece que Frame.world.getScreen() está obteniendo una instancia compartida. Probablemente deberías crear una nueva instancia en su lugar. – ThomasW

+0

¿Un ejemplo para qué? Usted nos dio casi ningún código, sin propósitos. Acabo de explicarle que siempre recibirá la excepción. – ernazm

11

Quizás esté intentando establecer el contenido de objetos que ya tienen el elemento principal. Parece que establece algunos puntos de vista en una actividad, por ejemplo:

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

y parece que el error cuando intenta añadir que la televisión de diseño diferente. En su situación es porque el diseño de una actividad está intentando establecerse como un elemento secundario en la otra actividad.

Primero debe liberar al hijo de otro padre.

+0

genial !!! me salvaste el tiempo –

Cuestiones relacionadas