Android xml Eclipse 中的渲染问题?

Android xml rendering issue in eclipse?

在项目中创建新的 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.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.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(WorkbenchPage.java:4846)
    at org.eclipse.ui.internal.WorkbenchPage$E4PartListener.partActivated(WorkbenchPage.java:210)
    at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.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(StackRenderer.java:1200)
    at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.close(StackRenderer.java:1092)
    at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1874)
    at org.eclipse.swt.custom.CTabFolder.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.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.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)

您在 xml 中使用过任何片段吗?请添加名为 "android-support-v7-appcompat"

的 fragmnet 支持的库

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

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

我遇到了同样的错误!!

但是我学到的是当我低于 API 14 我得到了错误,否则它工作正常....

该问题已在 4.1 SDK 的更新中得到解决,但该修复程序尚未反向移植到布局库的旧版本中。我相信 Xav 正计划与其他一些已积累的杂项 layoutlib 修复程序一起执行此操作。

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

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

我刚遇到同样的错误并且已经解决了。

我创建了一个新项目并选择了 API 21. 创建项目后我在文件 AndroidManifest.xml 中更改:

android:targetSdkVersion="21" 

android:targetSdkVersion="22"

Google已经弃用了ClassActionBarActivity。如果你的'Activity Class'extends它,就会出现这个错误。

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

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

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

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

然后把ActionBarActivity改成Activity.