2

I have this weird bug with Android Studio which prevents me from using this attribute in a menu item to use it navigation drawer. This is the code of the error (NullPointerException) :

null
    java.lang.NullPointerException
    at com.android.tools.idea.uibuilder.scene.LayoutlibSceneManager.getRenderResult(LayoutlibSceneManager.java:602)
    at com.android.tools.idea.uibuilder.surface.ScreenViewBase.getResult(ScreenViewBase.java:109)
    at com.android.tools.idea.uibuilder.surface.ScreenView.getResult(ScreenView.java:30)
    at com.android.tools.idea.uibuilder.menu.NavigationViewSceneView.getPreferredSize(NavigationViewSceneView.java:64)
    at com.android.tools.idea.common.surface.SceneView.getPreferredSize(SceneView.java:95)
    at com.android.tools.idea.uibuilder.scene.LayoutlibSceneManager.createSceneViewsForMenu(LayoutlibSceneManager.java:265)
    at com.android.tools.idea.uibuilder.scene.LayoutlibSceneManager.doCreateSceneView(LayoutlibSceneManager.java:234)
    at com.android.tools.idea.common.scene.SceneManager.createSceneView(SceneManager.java:73)
    at com.android.tools.idea.common.scene.SceneManager.<init>(SceneManager.java:66)
    at com.android.tools.idea.uibuilder.scene.LayoutlibSceneManager.<init>(LayoutlibSceneManager.java:157)
    at com.android.tools.idea.uibuilder.surface.NlDesignSurface.createSceneManager(NlDesignSurface.java:145)
    at com.android.tools.idea.common.surface.DesignSurface.setModel(DesignSurface.java:281)
    at com.android.tools.idea.common.editor.NlEditorPanel.initNeleModelOnEventDispatchThread(NlEditorPanel.java:143)
    at com.android.tools.idea.common.editor.NlEditorPanel.lambda$null$4(NlEditorPanel.java:139)
    at com.intellij.openapi.project.DumbServiceImpl.lambda$smartInvokeLater$7(DumbServiceImpl.java:366)
    at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:315)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:424)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:407)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:762)
    at java.awt.EventQueue.access$500(EventQueue.java:98)
    at java.awt.EventQueue$3.run(EventQueue.java:715)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:732)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:822)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:650)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:366)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)


java.lang.NullPointerException
    at com.android.tools.idea.uibuilder.scene.LayoutlibSceneManager.getRenderResult(LayoutlibSceneManager.java:602)
    at com.android.tools.idea.uibuilder.surface.ScreenViewBase.getResult(ScreenViewBase.java:109)
    at com.android.tools.idea.uibuilder.surface.ScreenView.getResult(ScreenView.java:30)
    at com.android.tools.idea.uibuilder.menu.NavigationViewSceneView.getPreferredSize(NavigationViewSceneView.java:64)
    at com.android.tools.idea.common.surface.SceneView.getPreferredSize(SceneView.java:95)
    at com.android.tools.idea.uibuilder.scene.LayoutlibSceneManager.createSceneViewsForMenu(LayoutlibSceneManager.java:265)
    at com.android.tools.idea.uibuilder.scene.LayoutlibSceneManager.doCreateSceneView(LayoutlibSceneManager.java:234)
    at com.android.tools.idea.common.scene.SceneManager.createSceneView(SceneManager.java:73)
    at com.android.tools.idea.common.scene.SceneManager.<init>(SceneManager.java:66)
    at com.android.tools.idea.uibuilder.scene.LayoutlibSceneManager.<init>(LayoutlibSceneManager.java:157)
    at com.android.tools.idea.uibuilder.surface.NlDesignSurface.createSceneManager(NlDesignSurface.java:145)
    at com.android.tools.idea.common.surface.DesignSurface.setModel(DesignSurface.java:281)
    at com.android.tools.idea.uibuilder.editor.NlPreviewForm.initNeleModel(NlPreviewForm.java:420)
    at com.android.tools.idea.uibuilder.editor.NlPreviewForm.initPreviewFormAfterBuildOnEventDispatchThread(NlPreviewForm.java:353)
    at com.intellij.util.ui.UIUtil.invokeLaterIfNeeded(UIUtil.java:2795)
    at com.android.tools.idea.uibuilder.editor.NlPreviewForm.initPreviewFormAfterInitialBuild(NlPreviewForm.java:318)
    at com.android.tools.idea.startup.ClearResourceCacheAfterFirstBuild.runWhenResourceCacheClean(ClearResourceCacheAfterFirstBuild.kt:80)
    at com.android.tools.idea.uibuilder.editor.NlPreviewForm.initPreviewForm(NlPreviewForm.java:305)
    at com.android.tools.idea.uibuilder.editor.NlPreviewForm.activate(NlPreviewForm.java:524)
    at com.android.tools.idea.uibuilder.editor.NlPreviewManager$1.stateChanged(NlPreviewManager.java:141)
    at sun.reflect.GeneratedMethodAccessor44.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.intellij.util.EventDispatcher.dispatch(EventDispatcher.java:99)
    at com.intellij.util.EventDispatcher.access$200(EventDispatcher.java:35)
    at com.intellij.util.EventDispatcher$2.invoke(EventDispatcher.java:79)
    at com.sun.proxy.$Proxy81.stateChanged(Unknown Source)
    at com.intellij.openapi.wm.impl.ToolWindowManagerImpl.fireStateChanged(ToolWindowManagerImpl.java:1658)
    at com.intellij.openapi.wm.impl.ToolWindowManagerImpl.execute(ToolWindowManagerImpl.java:568)
    at com.intellij.openapi.wm.impl.ToolWindowManagerImpl.activateToolWindow(ToolWindowManagerImpl.java:736)
    at com.intellij.openapi.wm.impl.ToolWindowImpl.activate(ToolWindowImpl.java:203)
    at com.android.tools.idea.uibuilder.editor.NlPreviewManager$2.run(NlPreviewManager.java:300)
    at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:337)
    at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:327)
    at com.intellij.util.ui.update.MergingUpdateQueue.lambda$flush$1(MergingUpdateQueue.java:277)
    at com.intellij.util.ui.UIUtil.invokeAndWaitIfNeeded(UIUtil.java:2816)
    at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:288)
    at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:246)
    at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:246)
    at com.intellij.util.Alarm$Request.runSafely(Alarm.java:417)
    at com.intellij.util.Alarm$Request.access$700(Alarm.java:344)
    at com.intellij.util.Alarm$Request$1.run(Alarm.java:384)
    at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:315)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:424)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:407)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:762)
    at java.awt.EventQueue.access$500(EventQueue.java:98)
    at java.awt.EventQueue$3.run(EventQueue.java:715)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:732)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:822)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:650)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:366)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

It would be helpful if you can help me in order to fix this error with Android Studio? I've searched a lot for a solution but didn't find anything.

Kwnstantinos Nikoloutsos
  • 1,832
  • 4
  • 18
  • 34
Ahmed Rabee
  • 185
  • 14
  • You should be able to just remove: tools:showIn="navigation_view", to prevent that bug. – Elletlar Jul 26 '18 at 23:58
  • Thx for the help but still I want to know why it happens and how to fix it to use this attribute – Ahmed Rabee Jul 27 '18 at 20:26
  • There is a temporary workaround in this https://stackoverflow.com/questions/50201356/navigation-drawer-issue-not-showing-layout-preview/50221647#50221647 –  Jul 27 '18 at 21:28

1 Answers1

1

It is bug #80037922

Same stack as your report:

null java.lang.NullPointerException at com.android.tools.idea.uibuilder.scene.LayoutlibSceneManager.getRenderResult(LayoutlibSceneManager.java:602) at com.android.tools.idea.uibuilder.surface.ScreenViewBase.getResult(ScreenViewBase.java:109) at com.android.tools.idea.uibuilder.surface.ScreenView.getResult(ScreenView.java:30)

Reported by someone with the following environment:

  • Android Studio Build: Android Studio 3.1.2 AI-1734720617
  • Version of Gradle Plugin:
  • Version of Gradle: 4.4
  • Version of Java: Embedded JDK
  • OS: Windows 10

Currently priority and severity as P2, assigned to someone at Google to fix.

Last comment:

What API version are you using? Could you please also try in 3.2 and let us know if that fixes the problem?

https://issuetracker.google.com/issues/80037922

Elletlar
  • 3,136
  • 7
  • 32
  • 38