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 un error:
Excepción generada durante el renderizado: no se puede localizar el modo 0
Intenté el proyecto Clean & Rebuild, pero no funciona. Antes de actualizar todo estaba bien.
Sé que puedo volver a 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)
android
android-studio
RediOne1
fuente
fuente
Respuestas:
Este problema se ha resuelto, actualice la biblioteca de soporte a
fuente
Es un error molesto de la versión 25 .. Una solución temporal es degradar su proyecto,
fuente
Otra solución temporal es reemplazar
<android.support.v7.widget.RecyclerView
con<RecyclerView
para que pueda ver la Vista renderizada. Al compilar, cámbielo de nuevo a<android.support.v7.widget.RecyclerView
fuente
Es un problema de error y debería corregirse en la versión futura de la biblioteca de diseño de soporte .
Debe degradar su versión para Soluciones temporales .
fuente
Para ver la vista previa, utilizo este truco ... agregar
app:layoutManager="0"
para el recyclingView en un diseño XMLPero arrojará InflateException en tiempo de ejecución. ¡ QUITE esta propiedad del archivo de diseño XML antes de ejecutar la aplicación!
fuente
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
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
fuente