Após a atualização BuildTools
para a versão 25.0.0.
compileSdkVersion 25
buildToolsVersion "25"
Tenho problemas com a visualização do layout do Android. Agora mostra o erro:
Exceção levantada durante a renderização: não é possível localizar o modo 0
Tentei limpar e reconstruir o projeto, mas não funcionou. Antes da atualização estava tudo bem.
Eu sei que posso voltar para as versões anteriores BuildTools
, mas quero saber por que não funciona na versão 25.0.0
?
Parece que é um problema com 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
fonte
fonte
Respostas:
Este problema foi resolvido, atualize a biblioteca de suporte para
fonte
É um bug irritante da versão 25 .. Uma solução temporária é fazer o downgrade do seu projeto,
fonte
Outra solução temporária é substituir
<android.support.v7.widget.RecyclerView
por<RecyclerView
para que você possa ver a vista renderizada. Ao compilar, mude de volta para<android.support.v7.widget.RecyclerView
fonte
É um problema de bug e deve ser corrigido na versão futura da biblioteca de design de suporte .
Você deve fazer o downgrade de sua versão para Soluções Temporárias .
fonte
Para ver a visualização, eu uso este truque ..... adicione
app:layoutManager="0"
para o recyclerView em um layout XMLMas ele lançará InflateException em tempo de execução. Portanto, REMOVA essa propriedade do arquivo de layout XML antes de executar o aplicativo!
fonte
Como solução temporária, você pode criar uma classe filha da visualização do reciclador e substituir apenas emAttachedToWindow conforme abaixo. Em seguida, use esta classe em seus layouts XML
Atualização: a partir da biblioteca de suporte 25.0.1, correção já incluída na biblioteca e o problema não existe mais
fonte