NullPointerException: Intento de leer del campo 'int android.view.View.mViewFlags'
Mi aplicación estaba funcionando bien, y luego incluí la biblioteca de diseño de soporte en el build.gradle
compile 'com.android.support:design:23.2.1'
Android Studio pidió descargar más componentes y después de eso empecé a ver demasiados de estos bloqueos cuando la navegación b / w diferentes fragmentos
- Cómo obtener una referencia al grupo de vista principal
- OnMeasure no se llama en mi grupo de vista personalizado android
- Barra de desplazamiento a ViewGroup personalizado
- Relación de aspecto fija
- Android: El uso de FEATURE_NO_TITLE con ViewGroup personalizado deja espacio en la parte superior de la ventana
FATAL EXCEPTION: main Process: com.presdo.match.matchtemplate, PID: 23339 java.lang.NullPointerException: Attempt to read from field 'int android.view.View.mViewFlags' on a null object reference at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3197) at android.view.View.draw(View.java:15234) at android.widget.FrameLayout.draw(FrameLayout.java:598) at android.view.View.updateDisplayListIfDirty(View.java:14167) at android.view.View.getDisplayList(View.java:14189) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3389) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3368) at android.view.View.updateDisplayListIfDirty(View.java:14127) at android.view.View.getDisplayList(View.java:14189) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3389) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3368) at android.view.View.updateDisplayListIfDirty(View.java:14127) at android.view.View.getDisplayList(View.java:14189) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3389) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3368) at android.view.View.updateDisplayListIfDirty(View.java:14127) at android.view.View.getDisplayList(View.java:14189) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3389) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3368) at android.view.View.updateDisplayListIfDirty(View.java:14127) at android.view.View.getDisplayList(View.java:14189) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3389) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3368) at android.view.View.updateDisplayListIfDirty(View.java:14127) at android.view.View.getDisplayList(View.java:14189) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3389) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3368) at android.view.View.updateDisplayListIfDirty(View.java:14127) at android.view.View.getDisplayList(View.java:14189) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3389) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3368) at android.view.View.updateDisplayListIfDirty(View.java:14127) at android.view.View.getDisplayList(View.java:14189) at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:273) at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:279) at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:318) at android.view.ViewRootImpl.draw(ViewRootImpl.java:2530) at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2352) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1982) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1061) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5885) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767) at android.view.Choreographer.doCallbacks(Choreographer.java:580) at android.view.Choreographer.doFrame(Choreographer.java:550) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Este es mi build.gradle
compile 'com.android.support:appcompat-v7:23.2.1' compile 'com.android.support:recyclerview-v7:+' compile 'com.android.support:cardview-v7:23.+' compile 'com.android.support:support-v4:23.0.0' compile 'com.android.support:percent:23.1.1' compile 'com.android.support:multidex:1.0.0' compile 'com.android.support:palette-v7:23.1.0'
Ya he mirado esto y todavía no estoy seguro si tiene algo que ver con mi código.
Ahora, incluso si elimino la biblioteca de soporte de diseño de google, veo los bloqueos y no puedo predecir cuándo ocurren, ya que no hay referencia a la base de código de mi proyecto en el stacktrace.
Cualquier ayuda es apreciada.
ACTUALIZAR
Hice cambios en el Gradle para hacer compatibles las versiones de la biblioteca de soporte, y ya no veo los fallos. Aquí hay un fragmento
ext { supportLibVersion = '23.2.1' } dependencies { compile "com.android.support:appcompat-v7:${supportLibVersion}" compile "com.android.support:recyclerview-v7:${supportLibVersion}" compile "com.android.support:cardview-v7:${supportLibVersion}" compile "com.android.support:support-v4:${supportLibVersion}" compile "com.android.support:percent:${supportLibVersion}" compile "com.android.support:palette-v7:${supportLibVersion}" compile "com.android.support:design:${supportLibVersion}" ... }
- Prevención / captura "IllegalArgumentException: parámetro debe ser un descendente de esta vista" error
- Inflación del diseño XML en un grupo de vistas personalizado
- Android ViewGroup crash: Intenta leer desde el campo 'int android.view.View.mViewFlags' en una referencia de objeto nulo
- Android View y ViewGroup
- Problema en un grupo de vistas personalizado al actualizar ListViews
- Android: obtener Viewgroup de la vista?
- ¿Creación de una copia de una vista?
- Evento de inflado de acabado de ViewGroup
Generalmente no es una buena idea mezclar versiones de diferentes bibliotecas de soporte, ya que tienen interdependencias que pueden no funcionar en todas las versiones.
Intentaría actualizarlos todos a 23.2.1, en vez de mezclar 23.0, 23.1 y 23.2
Es (de nuevo) un tema de animación. Probablemente tenga algunas animaciones personalizadas configuradas con
fragmentTransaction.setCustomAnimations();
Eliminarlos y funciona de nuevo. Enhorabuena, ahora tienes transiciones de fragmentos como hace 5 años.
Editar: una manera mejor es restaurar su antiguo repositorio, mediante la descarga
http://dl.google.com/android/repository/android_m2repository_r26.zip
Y reemplazar todo en
/Users/.../Library/Android/sdk/extras/android/m2repository
Tomó desde aquí .
- Cómo mantener la escucha de servlets de App Engine en Firebase
- ¿Cuál es la mejor manera de definir TAG constante en Kotlin?