2011-01-26 226 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版本。

這應該做。如果不嘗試選擇其他選項。

爲我工作!

相關問題