2011-01-26 246 views
15

我在Mac上运行Eclipse Helios,并且刚刚更新为ADT 9.0.0。 它似乎打破了布局编辑器。 任何时候我尝试用布局编辑器打开一个布局xml文件时,我得到一个错误。 编辑器有一个“丢失的主题”消息,同时产生的主要错误如下。Eclipse Android图形布局编辑器损坏

Selecting page '0' in AndroidXmlEditor failed  

java.lang.NullPointerException 
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.renderWithBridge(Unknown Source) 
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.recomputeLayout(Unknown Source) 
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.activated(Unknown Source) 
at com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditor.pageChange(Unknown Source) 
at org.eclipse.ui.part.MultiPageEditorPart.setActivePage(MultiPageEditorPart.java:1067) 
at org.eclipse.ui.forms.editor.FormEditor.setActivePage(FormEditor.java:607) 
at com.android.ide.eclipse.adt.internal.editors.AndroidXmlEditor.selectDefaultPage(Unknown Source) 
at com.android.ide.eclipse.adt.internal.editors.AndroidXmlEditor.addPages(Unknown Source) 
at org.eclipse.ui.forms.editor.FormEditor.createPages(FormEditor.java:138) 
at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:348) 
at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:670) 
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465) 
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595) 
at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:289) 
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2863) 
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2768) 
at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2760) 
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2711) 
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) 
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2707) 
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2691) 
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2682) 
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:651) 
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:610) 
at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:365) 
at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:168) 
at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:229) 
at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:208) 
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:274) 
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:250) 
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerActionGroup.handleOpen(PackageExplorerActionGroup.java:373) 
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$4.open(PackageExplorerPart.java:526) 
at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:48) 
at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:845) 
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) 
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49) 
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175) 
at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:843) 
at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1131) 
at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1235) 
at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:264) 
at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:258) 
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:298) 
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) 
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3776) 
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1367) 
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1390) 
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1375) 
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1187) 
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3622) 
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3277) 
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640) 
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604) 
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438) 
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671) 
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) 
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664) 
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) 
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115) 
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) 
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) 
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) 
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619) 
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574) 
at org.eclipse.equinox.launcher.Main.run(Main.java:1407) 

Session data 
eclipse.buildId=M20100909-0800 java.version=1.6.0_22 java.vendor=Apple Inc.BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US Framework arguments: -product org.eclipse.epp.package.java.product -keyring /Users/test/.eclipse_keyring -showlocation command-line arguments: -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.java.product -keyring /Users/test/.eclipse_keyring -showlocation 

我甚至尝试重新安装Eclipse和Android插件,但无济于事。在网上找不到任何东西,恐怕。 其他人有相同的问题或建议吗?

tim

+0

原来,这不仅仅是一个Mac问题。同样的问题发生在我的Linux机器上。 – Tim 2011-01-27 11:02:28

+2

第一次打开布局xml文件,然后单击“图形布局”选项卡时,仍存在问题。它从不自动显示。您仍然需要在下拉框(位于“创建”按钮下方)之间切换两个Android版本,才能显示GUI。非常刺激。 – Tim 2011-04-15 10:02:57

回答

21

我刚刚偶然发现了同样的问题。在“配置”部分中似乎有一个新的下拉菜单,用于选择平台版本(在我的情况下没有选择任何平台)。选择任何(例如“Android 2.2”)使主题选择器出现,并且布局工作。

+1

干杯zmalltalker。对它进行排序。对于其他人,为了澄清,下拉菜单位于布局编辑器中的“创建”按钮下。 – Tim 2011-01-27 10:25:50

+0

这真的是唯一的解决办法吗?我甚至不能选择这个下拉菜单,直到我打开,关闭并重新打开XML文件...因为NPE例外 – binnyb 2011-02-18 22:13:31

+0

哇......很明显,一旦你知道它。但无法弄清楚自己.. Thx。 – icyerasor 2011-02-21 13:10:11

1

我认为它是因为我使用的自定义布局组件。

我认为已经存在一个bug。您可以提交另一个投票或者对现有投票进行投票,以便优先解决问题

+1

我不认为它与我的布局有任何关系,因为即使当我创建一个新的空白(线性)布局文件时,我也会得到相同的错误。你能否给我提供错误报告的网址。谢谢 – Tim 2011-01-27 07:30:16

3

同样在这里,但我找到了一些东西。当我尝试使用 Google API作为项目构建目标时,就会出现问题。 如果我更改为Android 2.3,它会按预期工作

2

面临类似的错误。我无法在我的图形布局选项卡中看到任何图形布局预览。大多数下拉菜单都被阻止(变灰)。当我以API级别9为目标Google API 2.3.1时会发生这种情况。但另一方面,当我使用Android 2.3.1 API 9构建它时,一切正常。

1

我与ADT版本15.0.0同样的问题。更新ADT到15.0.1后,一切正常。希望这也能解决你的问题。

1

在菜单转到项目>清洁选择“清理所有项目”,然后再次加载xml选择您的Android版本。

这应该做。如果不尝试选择其他选项。

为我工作!

相关问题