studio programacion para herramientas fundamentos desarrollo con avanzado aplicaciones android android-studio

programacion - manual android studio avanzado



Excepción provocada durante el renderizado: no se puede ubicar el modo 0 (6)

Después de actualizar BuildTools a la versión 25.0.0.

compileSdkVersion 25 buildToolsVersion "25"

Tengo un problema con la vista previa del diseño de Android. Ahora muestra error:

Excepción provocada durante el renderizado: no se puede ubicar el modo 0

Intenté limpiar y reconstruir el proyecto, pero no funciona. Antes de actualizar todo estaba bien.

Sé que puedo volver a las versiones anteriores de BuildTools , pero quiero saber por qué no funciona en la versión 25.0.0 .

Parece que es un problema con RecyclerView

java.lang.IllegalStateException: Unable to locate mode 0 at android.view.DisplayInfo.findMode(DisplayInfo.java:458) at android.view.DisplayInfo.getMode(DisplayInfo.java:445) at android.view.Display.getRefreshRate(Display.java:648) at android.support.v7.widget.RecyclerView.onAttachedToWindow(RecyclerView.java:2392) at android.view.View.dispatchAttachedToWindow(View.java:15392) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2953) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960) at android.view.AttachInfo_Accessor.setAttachInfo(AttachInfo_Accessor.java:42) at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:333) at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:429) at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:389) at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:548) at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:533) at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:966) at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:533) at com.android.tools.idea.rendering.RenderTask.lambda$inflate$53(RenderTask.java:659) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)


La biblioteca de soporte de Android proporciona funciones de utilidad compatibles con versiones anteriores. Las aplicaciones pueden usar estas funciones de utilidad para proporcionar una experiencia de usuario adecuada en una amplia gama de versiones del sistema Android.

Es un problema de bug y debería solucionarse en el futuro Lanzamiento de la biblioteca de diseño de soporte .

Debería degradar su versión para Soluciones temporales .

compile ''com.android.support:appcompat-v7:25.0.1'' compile ''com.android.support:design:v7:25.0.1'' compile ''com.android.support:recyclerview-v7:25.0.1''


Como solución temporal, puede crear una clase secundaria de vista de reciclador y anular solo enAttachedToWindow como se muestra a continuación. Luego use esta clase en sus diseños XML

@Override protected void onAttachedToWindow() { if (!isInEditMode()) { super.onAttachedToWindow(); } }

Actualización: a partir de la biblioteca de soporte 25.0.1, la corrección ya está incluida en la biblioteca y el problema ya no existe


Es un error molesto de la versión 25 .. Una solución temporal es degradar su proyecto,

compile ''com.android.support:appcompat-v7:24.2.1'' compile ''com.android.support:design:24.2.1'' compile ''com.android.support:recyclerview-v7:24.2.1''


Este issue se ha resuelto, actualice la biblioteca de soporte a

compile ''com.android.support:recyclerview-v7:25.0.1'' compile ''com.android.support:appcompat-v7:25.0.1'' compile ''com.android.support:design:25.0.1''


Otra solución temporal es reemplazar <android.support.v7.widget.RecyclerView con <RecyclerView para que pueda ver la Vista renderizada. Al compilar, cámbielo nuevamente a <android.support.v7.widget.RecyclerView


Para ver la vista previa, utilizo este truco ..... agregue la app:layoutManager="0" para el recyclerView en un diseño XML

Pero arrojará InflateException en tiempo de ejecución. ¡ Elimine esta propiedad del archivo de diseño XML antes de ejecutar la aplicación!