Android Studio渲染:空指针异常

8

这里是堆栈跟踪信息:

java.lang.NullPointerException
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.isThemeAppCompat(RenderSessionImpl.java:1201)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.findStatusBar(RenderSessionImpl.java:1063)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.init(RenderSessionImpl.java:206)
    at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:319)
    at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:350)
    at com.android.tools.idea.rendering.RenderService$5.compute(RenderService.java:708)
    at com.android.tools.idea.rendering.RenderService$5.compute(RenderService.java:697)
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:932)
    at com.android.tools.idea.rendering.RenderService.createRenderSession(RenderService.java:697)
    at com.android.tools.idea.rendering.RenderService.render(RenderService.java:816)
    at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.doRender(AndroidLayoutPreviewToolWindowManager.java:646)
    at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.access$1700(AndroidLayoutPreviewToolWindowManager.java:82)
    at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7$1.run(AndroidLayoutPreviewToolWindowManager.java:589)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:178)
    at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:209)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:212)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:171)
    at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7.run(AndroidLayoutPreviewToolWindowManager.java:584)
    at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:320)
    at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:310)
    at com.intellij.util.ui.update.MergingUpdateQueue$2.run(MergingUpdateQueue.java:254)
    at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:269)
    at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:227)
    at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:217)
    at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238)
    at com.intellij.util.Alarm$Request$1.run(Alarm.java:327)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    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)

另一个活动在渲染器中使用相同的主题,并正常工作。如果有帮助的话,该主题是基于Theme.AppCompat.Light。我替换了文件为完全相同的XML,它也正常工作,但编辑器声称找不到它并且到处闪烁。重启后仍然存在相同的问题。

我花了几个小时尝试解决这个问题,但没有找到任何东西。请帮帮我。


至少一个引导,请! - Menachem Hornbacher
我在使用这个网站时遇到了相同的问题:http://jgilfelt.github.io/android-actionbarstylegenerator - Juan Saravia
2个回答

28

在Android Studio的xml查看器中更改主题


图片无法显示。*(403. 这是一个错误。您的客户端没有权限获取此URL /xaTj0AM_n92Fu6XEfsGecAE_MCwEeoAS7bylNtn3qD_-D2UXz5M5PPArlZqa4IxVr9JQrL_Yf6wuwzA=w1399-h1005... 禁止访问。这就是我们所知道的全部。)* - Pang
哎呀,我已经将这个IDE中出现的这类bug视作既定事实了...谢谢! - TacB0sS
谢谢!我在XML描述符中更改了主题,试图找到另一个错误的解决方案,但没有想到在将主题更改回来后,Idea会记住设计师的主题选择并抛出异常。 - Vova Rozhkov

0

我认为这可能与您使用不受支持的主题有关。

例如,holo.light是Android Lollipop不识别的主题。考虑将其替换为material.light。

至少对我来说,这就是问题所在。希望能帮到您。


我正在使用Theme.appcompact.Light.DarkactionBar。我在另一个项目中重新制作了整个应用程序。实际上是完全相同的代码,并且它可以正常工作。我只是失去了很多时间。 - Menachem Hornbacher

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接