【问题标题】:Eclipse Android Graphical Layout Editor BrokenEclipse Android 图形布局编辑器坏了
【发布时间】:2011-01-26 23:57:27
【问题描述】:

我在 Mac 上运行 Eclipse Helios,刚刚更新到 ADT 9.0.0。 它似乎破坏了布局编辑器。 每当我尝试使用布局编辑器打开布局 xml 文件时,都会出现错误。 编辑器出现“缺少主题”消息,而生成的主要错误如下。

 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 插件,但无济于事。恐怕在网上也找不到任何东西。 其他人有同样的问题或有什么建议吗?

提姆

【问题讨论】:

  • 原来这不仅仅是 Mac 的问题。我的 linux 机器上也发生了同样的问题。
  • 当我第一次打开一个布局xml文件然后点击“图形布局”选项卡时仍然存在问题。它永远不会自动出现。您仍然需要在下拉框(“创建”按钮下方)中切换两个版本的 Android 以显示 GUI。很烦人。

标签: android eclipse android-layout


【解决方案1】:

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

【讨论】:

  • 干杯 zmalltalker。这样就整理好了。对于其他人,为了澄清,下拉菜单位于布局编辑器中,位于“创建”按钮下方。
  • 这真的是解决这个问题的唯一方法吗?在打开、关闭和重新打开 XML 文件之前,我什至无法选择此下拉菜单...由于 NPE 异常
  • 哇……很明显,一旦你知道了。但我自己想不通..谢谢。
  • 在查看布局时,我仍然遇到打开、关闭和重新打开的问题.. 有点傻。
  • 当我想使用 Google API 作为目标时,我遇到了这个问题。我需要使用地图……或者地图或图形布局……对吗?
【解决方案2】:

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

【讨论】:

  • 这是真的……这方面有什么进展吗?
【解决方案3】:

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

【讨论】:

  • 我安装了 8 级和 9 级 API。我经常需要在两者之间切换才能显示实际的 GUI 编辑器。
  • 在我的 Eclipse 中,设置新的 Eclipse 和 Android 环境后,我看不到图形布局选项卡。我只能看到源代码和设计选项卡。如何查看图形布局??
【解决方案4】:

我认为这是因为您使用了自定义布局组件。

我认为已经提交了一个错误。您可以提交另一个文件或投票支持现有的一个以优先解决

【讨论】:

  • 我认为这与我的布局没有任何关系,因为即使我创建了一个新的空(线性)布局文件,我也会遇到同样的错误。请给我错误报告的网址。谢谢
【解决方案5】:

我在使用 ADT 版本 15.0.0 时遇到了同样的问题。将 ADT 更新到 15.0.1 后一切正常。希望这也能解决您的问题。

【讨论】:

    【解决方案6】:

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

    这应该可以。如果没有尝试选择其他选项。

    为我工作!

    【讨论】:

      【解决方案7】:

      ADT 11 于 2011 年 6 月 6 日发布。

      从此链接安装插件。

      http://developer.android.com/sdk/eclipse-adt.html

      我认为它的工作方式与我们预期的一样......

      【讨论】:

      • 请不要快速连续地对多个问题发布完全相同的答案。如果它们是重复的问题,只需将它们标记为关闭/合并。
      猜你喜欢
      • 2012-06-18
      • 2011-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-19
      • 1970-01-01
      • 2012-06-17
      相关资源
      最近更新 更多