2011-02-19 10 views
10

Recentemente ho installato Eclipse IDE per sviluppatori Java (Versione: 3.6.1) con la 2.1update1 Android SDK Platform - su Windows 7.Android sviluppo - 'mancante errore tema' in Eclipse IDE per i file XML di layout

Posso aggiungere, modificare ed eseguire il codice per i progetti, tuttavia, nell'area Workbench la vista Layout grafico dei file xml di layout mostra sempre un messaggio "Tema mancante" nell'area di navigazione in basso a destra. L'area di sinistra della palette di palette è ok e il resto l'area è vuota

Il messaggio di errore si legge: "La selezione della casella '0' in AndroidXmlEditor fallito"

The first and last 10 lines from the Exception Stack Trace reads: 
java.lang.NullPointerException 
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.Gra phicalEditorPart.renderWithBridge(Unknown Source) 
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.Gra phicalEditorPart.recomputeLayout(Unknown Source) 
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.Gra phicalEditorPart.activated(Unknown Source) 
at com.android.ide.eclipse.adt.internal.editors.layout.LayoutEd itor.pageChange(Unknown Source) 
at org.eclipse.ui.part.MultiPageEditorPart.setActivePage(MultiP ageEditorPart.java:1067) 
at org.eclipse.ui.forms.editor.FormEditor.setActivePage(FormEdi tor.java:607) 
at com.android.ide.eclipse.adt.internal.editors.AndroidXmlEdito r.selectDefaultPage(Unknown Source) 
at com.android.ide.eclipse.adt.internal.editors.AndroidXmlEdito r.addPages(Unknown Source) 
at org.eclipse.ui.forms.editor.FormEditor.createPages(FormEdito r.java:138) 
at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(Mu ltiPageEditorPart.java:348) 

at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79) 
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:369) 
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179) 
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: 619) 
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574) 
at org.eclipse.equinox.launcher.Main.run(Main.java:1407) 

Grazie per il vostro aiuto in anticipo.

+2

Ho ancora quel problema, ho provato tutto quello che avete scritto voi, ma niente ha funzionato !!!! e questa stupida cosa mi ha impedito di fare un'app velocemente, avrei potuto fare una semplice app ma no, sono rimasto bloccato inutilmente per 34 ore a causa di questo errore !!! e non riesco a capire semplicemente perché ....... –

risposta

19

Nella scheda "Layout grafico" dell'editor di layout è disponibile un menu a discesa per selezionare la versione di Android da utilizzare. Nel tuo caso è probabilmente vuoto, quindi seleziona una versione e probabilmente sei a posto.

+0

Grazie. Questo è come sto usando fino ad ora. Ma chissà qual'è il vero problema .. – ruben

+0

Vuoi dire che cambiare quel valore non risolve il problema per te? – rogerkk

+0

No, la selezione della versione dall'elenco a discesa risolve il problema.Tuttavia ho trovato un'altra soluzione: prova a chiudere il tuo progetto e reimportarlo nuovamente per eclissare lo spazio di lavoro per file> import, fammi sapere se questo funziona per te – ruben

0

Ho avuto anche questo problema.

Avevo un progetto che utilizzava le API di Google (livello 7) come obiettivo di build. Sto indovinando che c'è qualcosa di strano in questa build che non punta bene ai file di tema appropriati. Per ovviare a questo, ho cambiato il mio "Project Build Target" su Android 2.1-update1 e sembra essere ok.

Per arrivarci .. All'interno del progetto aperto, fai clic su Progetto (dal menu in alto) -> Proprietà -> seleziona Android e modifica il target di costruzione.

A un certo punto, potrei trovarmi a dover utilizzare GoogleAPI, quindi potrebbe essere necessario tornare indietro. Questo potrebbe risolvere il problema, chi lo sa.

1

Ho avuto questo problema con alcuni progetti nuovi di zecca, senza alcun codice aggiunto ancora. Eclipse apparentemente utilizza automaticamente il massimo sdk Android installato per l'editor di layout, anche se si specifica una versione diversa durante la creazione per minsdk. Progetto ... Pulisci ... lo ha ricostruito e poi è andato tutto bene.

1

Ho avuto lo stesso problema .. Sto usando Android 3.0 e lo sviluppo per Xoom, ed era già selezionato. Tuttavia, cambiando la versione in 2.3.3, e poi di nuovo in 3.0 anche risolto il problema .. Nessuna ricostruzione, reimportazione del progetto, appena modificata la versione, e cambiato di nuovo al suo valore originale. Ma questo potrebbe essere specifico per 3.0. Una volta risolto non ci sono andato oltre.

0

Hai aggiunto il tag al manifest? Forse il designer sta cercando un tema e non è lì.

Spero che aiuti!

2

Ho avuto lo stesso problema. L'ho risolto aggiungendo un attributo theme al file manifest di Android. Avevo bisogno di un singolo tema per tutte le attività, quindi ho aggiunto l'attributo a livello di applicazione come segue.

`<application android:icon="@drawable/icon" 
      android:label="@string/app_name" 
      android:theme="@android:style/Theme.Black">` 

Quindi ho chiuso il file xml di Attività UI e l'ho riaperto..e il problema è stato risolto.

1

Ho risolto questo problema eliminando la configurazione del mio dispositivo personalizzato.

  • Aprire un file layout.xml.
  • Vai alla vista "Layout grafico".
  • Dal menu a discesa a sinistra scegliere "Personalizzato" per visualizzare la finestra di dialogo "Configurazioni dispositivo".
  • Elimina la configurazione personalizzata.

Potrebbe essere necessario chiudere e riaprire il file di layout.

Cosa fare se si desidera utilizzare una configurazione dispositivo personalizzata? Da qualcuno sul team di android:

Assicurarsi che se si dispone di dispositivi personalizzati, li si modifica e aggiungere tutti gli elementi di configurazione disponibili nella giusta visualizzazione elenco.

Ho trovato la copia di una delle configurazioni predefinite e la modifica dei valori in base alle esigenze, ha fatto il trucco.

Android Issue Tracking > Issue 17522: ADT 11 problem "No XML content. Please add a root view or layout to your document." > Comment 10

Sono su WinXP Pro SP3, Eclipse Indigo (3.7.0), la costruzione di contro Android 2.2/Livello 8 (che ho installato dopo l'incontro con il 'errore tema mancante' quando si costruisce contro Android 2.1- Update1). Non so se il cambiamento delle piattaforme abbia aiutato.

Cambiare la piattaforma di destinazione nel "layout grafico" di un file layout.xml da Android 2.2 ad android 2.1-update1 ha reintrodotto i problemi di alcuni dei miei layout. Quindi forse hai bisogno di una completa configurazione del dispositivo e di costruire contro Android 2.2 (o, almeno, impostare Android 2.2 come piattaforma per ogni particolare file xml e costruire il resto dell'applicazione su una piattaforma precedente, se necessario).

9

È sufficiente selezionare il tema in alto. Sopra potete vedere il vostro xml disegno sulla mia immagine:

XML design

0

Ho risolto il mio problema modificando app tema nel file manifesto .. come ..

<application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" > 
0

Assicurarsi che il tutti gli altri styles.xml presenti sotto diversi valori contengono la parte tematica personalizzata.

Ho avuto un problema simile. Nel mio caso ho aggiunto un tema personalizzato nella cartella value-large sotto res. E funzionava in fase di esecuzione, ma dando errore come tuo in eclissi.

Così ho provato una soluzione diversa, ad esempio aggiungendo la parte personalizzata (nel mio caso c'erano 3 tag aggiunti al file styles.xml) in tutti gli altri file styles.xml. vale a dire styles.xml file sotto values-normal-hdpi, values-normal-mdpi, valuse-v11 e values-v14 ...

E BOOM !!! Ha risolto il mio problema che ha perso tutto il giorno.

Problemi correlati