2011-01-26 16 views
15

Sto eseguendo Eclipse Helios su Mac e appena aggiornato ad ADT 9.0.0. Sembra aver rotto l'editor di Layout. Ogni volta che provo ad aprire un file xml di layout con l'editor di layout, ottengo un errore. L'editor ha un messaggio "Tema mancante" mentre l'errore principale generato è il seguente.Editor layout grafico Android Eclipse rotto

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 

Ho anche provato a reinstallare Eclipse e Android plugin, ma senza alcun risultato. Temo che non abbia trovato nulla sul web. Qualcun altro ha lo stesso problema o qualche suggerimento?

tim

+0

Risulta che questo non è solo un problema Mac. Lo stesso problema è accaduto sulla mia macchina Linux. – Tim

+2

C'è ancora il problema quando apro un file xml di layout per la prima volta e poi clicco sulla scheda "Layout grafico". Non si presenta mai automaticamente. Devi ancora scambiare tra due versioni di Android nella casella a discesa (sotto il pulsante "Crea") per far apparire la GUI. Abbastanza irritante. – Tim

risposta

21

Mi sono appena imbattuto in questo stesso problema ora. Sembra esserci un nuovo menu a discesa nella sezione "config" per selezionare una versione della piattaforma (nessuna è stata selezionata nel mio caso). Selezionando uno qualsiasi (ad esempio "Android 2.2") viene visualizzato il selettore Tema e il layout funziona in modo corretto.

+1

Cheers zmalltalker. Questo lo ha risolto.Per gli altri, solo per chiarire, il menu a discesa è nell'editor di layout, sotto il pulsante "crea". – Tim

+0

questa è davvero l'unica soluzione per questo? Non riesco nemmeno a selezionare questo menu a discesa finché non apro, chiudo e riapri il file XML ... a causa delle eccezioni NPE – binnyb

+0

Whoa .. piuttosto ovvio una volta che lo conosci. Ma non riuscivo a capirlo da solo .. Thx. – icyerasor

1

Penso che sia dovuto ai componenti di layout personalizzati che utilizzano.

Penso che ci sia già un bug per questo. È possibile archiviare un altro o votare per quello esistente da fissare sulla priorità

+1

Non penso che abbia nulla a che fare con il mio layout perché anche quando creo un nuovo file di layout vuoto (lineare) ottengo lo stesso errore. Puoi darmi l'url per il bug report per favore. grazie – Tim

3

Lo stesso, ma ho trovato qualcosa. Il problema si verifica quando provo a utilizzare le API di Google come Target di progetto. Se cambio su Android 2.3, funziona come previsto

+0

che è vero ... qualsiasi anticipo su questo? –

2

Di fronte a un errore simile. Non vedo alcuna anteprima di layout grafico nella scheda Layout grafico della mia. La maggior parte dei menu a discesa è bloccata (disattivata). Ciò accade quando target API di Google 2.3.1 con livello API 9. Ma d'altra parte quando lo compro con l'API 9 di Android 2.3.1, tutto funziona correttamente.

+1

Ho installato API 8 e 9. Spesso devo scambiare tra due per ottenere l'effettivo editor GUI da mostrare. – Tim

+0

Nella mia eclissi non riesco a vedere la scheda grafica del layout dopo aver impostato il nuovo Eclipse e l'ambiente Android. Riesco a vedere solo la scheda di origine e di progettazione. Come vedere il layout grafico ?? – Subrat

0

ADT 11 è stato rilasciato 6 giugno 2011.

installare il plugin da questo link.

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

credo che funziona come il modo in cui ci aspettavamo ..

+0

Si prega di non pubblicare esattamente la stessa risposta a più domande in rapida successione. Se sono domande doppie, basta contrassegnarle per la chiusura/fusione. –

1

ho avuto lo stesso problema con ADT versione 15.0.0. Dopo aver aggiornato ADT su 15.0.1, tutto funziona correttamente. Spero che questo risolva anche il tuo problema.

1

Nella barra dei menu goto Progetto> Pulisci Seleziona "Pulisci tutti i progetti" e quindi carica nuovamente il xml scegli la tua versione di Android.

Questo dovrebbe fare. Se non provi a selezionare altre opzioni.

Ha funzionato per me!