eclipse中的Android xml渲染问题?

时间:2015-03-31 04:13:06

标签: android android-layout

在项目中创建新的xml文件时,错误日志会出现渲染问题,如下所示:

java.lang.NullPointerException
    Exception details are logged in Window > Show View > Error Log
    The following classes could not be instantiated:
    - android.support.v7.internal.app.WindowDecorActionBar (Open Class, Show Error Log)
    - android.support.v7.internal.widget.ActionBarContextView (Open Class, Show Error Log)
    - android.support.v7.widget.Toolbar (Open Class, Show Error Log)

...............

java.lang.NullPointerException
    at android.support.v7.internal.widget.ActionBarOverlayLayout.getDecorToolbar(ActionBarOverlayLayout.java:594)
    at android.support.v7.internal.widget.ActionBarOverlayLayout.pullChildren(ActionBarOverlayLayout.java:583)
    at android.support.v7.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:368)
    at android.view.View.measure(View.java:17547)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
    at android.view.View.measure(View.java:17547)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:875)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
    at android.view.View.measure(View.java:17547)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.measureView(RenderSessionImpl.java:637)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.render(RenderSessionImpl.java:537)
    at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:323)
    at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:349)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.RenderService.createRenderSession(RenderService.java:519)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.renderWithBridge(GraphicalEditorPart.java:1584)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.recomputeLayout(GraphicalEditorPart.java:1309)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.activated(GraphicalEditorPart.java:1066)
    at com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditorDelegate.delegateActivated(LayoutEditorDelegate.java:743)
    at com.android.ide.eclipse.adt.internal.editors.common.CommonXmlEditor.activated(CommonXmlEditor.java:416)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.LayoutWindowCoordinator.partActivated(LayoutWindowCoordinator.java:379)
    at org.eclipse.ui.internal.PartService$6.run(PartService.java:149)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.ui.internal.PartService.partActivated(PartService.java:146)
    at org.eclipse.ui.internal.WorkbenchPage$17.run(WorkbenchPage.java:4870)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.ui.internal.WorkbenchPage.firePartActivated(WorkbenchPage.java:4867)
    at org.eclipse.ui.internal.WorkbenchPage.access$18(WorkbenchPage.java:4846)
    at org.eclipse.ui.internal.WorkbenchPage$E4PartListener.partActivated(WorkbenchPage.java:210)
    at org.eclipse.e4.ui.internal.workbench.PartServiceImpl$3.run(PartServiceImpl.java:241)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.firePartActivated(PartServiceImpl.java:238)
    at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:692)
    at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:620)
    at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:608)
    at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.hidePart(PartServiceImpl.java:1276)
    at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.hidePart(PartServiceImpl.java:1215)
    at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.closePart(StackRenderer.java:1218)
    at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.access$3(StackRenderer.java:1200)
    at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer$12.close(StackRenderer.java:1092)
    at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1874)
    at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:288)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1438)

8 个答案:

答案 0 :(得分:22)

我重新开始了日食。它的工作正常。 问题是在我的日食中没有正确加载sdk。

尝试启动eclipse,否则一旦检查你的sdk管理器是否安装了所有内容。

答案 1 :(得分:6)

我在使用带ADT的Eclipse时遇到了同样的问题(两者都是最新版本)。

这似乎是一个adt的错误,我找到的唯一解决方案(但一个简单的解决方案)只是重启Eclipse,然后错误消失。

答案 2 :(得分:3)

Google已弃用类ActionBarActivity。如果您的“活动类”extends,则会发生此错误。

  1. 首先将ActionBarActivity更改为Activity并保存更改。
  2. 然后,重新启动IDE并查看错误已修复。

答案 3 :(得分:2)

你在xml中使用过任何片段吗?请添加支持fragmnet的库名为" android-support-v7-appcompat"

答案 4 :(得分:0)

我得到了同样的错误!!

但是我学到的是当我走到API 14以下时i gt错误否则它工作正常....

4.1 SDK的更新修复了该问题,但该修补程序尚未向旧版本的布局库反向移植。我相信Xav正在计划这样做以及其他一些已经累积的misc layoutlib修复。

答案 5 :(得分:0)

我遇到了同样的错误并解决了这个问题。

我已经创建了一个新项目和选定的API 21.项目创建后,我在文件AndroidManifest.xml中进行了更改:

android:targetSdkVersion="21" 

android:targetSdkVersion="22"

答案 6 :(得分:0)

我再次开始我的日食它现在工作正常。此外,在某些情况下,可能会在创建新活动时发生,在这种情况下,您需要删除AndroidManifest.xml文件中的一些访问生成代码。

答案 7 :(得分:0)

我通过更改AndroidManifest.xml来解决它:

android:targetSdkVersion="21"android:targetSdkVersion="22"

然后将ActionBarActivity更改为Activity。