2012-04-17 10 views
5

que tienen un problema, Después de la comercialización - enorme accidente en la aplicación, que me decía que:Android: los identificadores duplicados en vista de jerarquía

java.lang.RuntimeException: No se puede iniciar la actividad ComponentInfo {com. ... android/com .... android.activities ....}: java.lang.IllegalArgumentException: Clase de estado incorrecta, que esperaba View State pero recibió la clase android.widget.ProgressBar $ SavedState en su lugar. Esto generalmente ocurre cuando dos vistas de diferentes tipos tienen la misma identificación en la misma jerarquía. La ID de esta vista es id/0x2. Asegúrese de que otras vistas no usen la misma identificación.

Así que sé que generalmente significa lo que dice - Tengo vistas en algún lugar con identificadores duplicados. Esto es bueno, pero lo que me preocupa es que creo que las vistas de id duplicadas vienen con alguna red ad que he integrado. Traté de contener el bloqueo con try/catch en la vista, que contiene todos los anuncios, pero no pudo captarlo.

Así que mi siguiente pensamiento es que las vistas del anuncio todavía tienen algún papel en esto, pero el accidente occures en el otro (la mía) punto de vista, que tiene el mismo id. La cuestión es que no sé cuál es esa vista y dónde buscarla. ¿Tiene alguna idea de lo que puede ser una vista con id 0x2? (también 0x3 - muchos informes en esa identificación también)? ¿Has tropezado con un accidente similar, conectado con redes publicitarias?

Realmente frustrado por esto. Cualquier ayuda apreciada!

Gracias, Dan

PS la traza completa:

java.lang.RuntimeException: No se puede iniciar la actividad ComponentInfo {com ..... androide/com ..... android.activities ....}: java.lang.IllegalArgumentException: Clase de estado incorrecta, que esperaba View State pero recibió la clase android.widget.ProgressBar $ SavedState en su lugar. Esto generalmente ocurre cuando dos vistas de diferentes tipos tienen la misma identificación en la misma jerarquía. La ID de esta vista es id/0x2. Asegúrese de que otras vistas no usen la misma identificación. en android.app.ActivityThread.performLaunchActivity (ActivityThread.java:1651) en android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:1667) en android.app.ActivityThread.handleRelaunchActivity (ActivityThread.java:2836) en android.app.ActivityThread.access $ 1600 (ActivityThread.java:117) en android.app.ActivityThread $ H.handleMessage (ActivityThread.java:939) en android.os.Handler.dispatchMessage (Handler.java:99) en android.os.Looper.loop (Looper.java:130) en android.app.ActivityThread.main (ActivityThread.java:3691) en java.lang.reflect.Method.invokeNative (método nativo) en java. lang.reflect.Method.invoke (Method.java:507) en com.an droid.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:907) en com.android.internal.os.ZygoteInit.main (ZygoteInit.java:665) en dalvik.system.NativeStart.main (Método nativo)) Causado por: java.lang.IllegalArgumentException: Clase de estado incorrecta, que esperaba Ver estado pero recibió clase android.widget.ProgressBar $ SavedState en su lugar. Esto generalmente ocurre cuando dos vistas de diferentes tipos tienen la misma identificación en la misma jerarquía. La ID de esta vista es id/0x2. Asegúrese de que otras vistas no usen la misma identificación. en android.view.View.onRestoreInstanceState (View.java:6355) en android.view.View.dispatchRestoreInstanceState (View.java:6331) en android.view.ViewGroup.dispatchRestoreInstanceState (ViewGroup.java:1211) en android.view.ViewGroup.dispatchRestoreInstanceState (ViewGroup.java: 1215) en android.view.ViewGroup.dispatchRestoreInstanceState (ViewGroup.java:1215) en android.view.ViewGroup.dispatchRestoreInstanceState (ViewGroup.java:1215) en android.view.ViewGroup.dispatchRestoreInstanceState (ViewGroup.java: 1215) en android.view.ViewGroup.dispatchRestoreInstanceState (ViewGroup.java:1215) en android.view.View.restoreHierarchyState (View.java:6310) en com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState (PhoneWindow.java:1537) en android.app.Activity.onRestoreInstanceState (Activity.java:850) en android.app.Activity.performRestoreInstanceState (Activity.java:822) en android.app.Instrumentation.callActivityOnRestoreInstanceState (Instrumentación. java: 1096) en android.app.ActivityThread.performLaunchActivity (ActivityThread.java:1629) ... 12 más

Respuesta

2

enfrentado a este problema mientras que el cambio de un fragmento a otro fragmento que contiene mismo ID para la progressBar. Cambié los identificadores a uno diferente y se resolvió.

Cuestiones relacionadas