2013-11-02 16 views
9

sì, l'ho cercato!Commenti nel layout XML non funziona

<!-- comment --> 

sembra essere la scelta giusta, ma ottengo un errore in Android-studio Gradle: Errore nell'analisi XML: non ben formato (invalid token)

quando faccio questo

<ImageButton 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    <!-- android:background="?android:attr/selectableItemBackground" --> 
    android:id="@+id/imageButton" 
    android:layout_alignParentTop="true" 
    android:src="@drawable/gfx_select_medium" 
    android:layout_marginRight="22dp"/> 

qualsiasi aiuto è apprezzato, grazie!

+0

mossa al di fuori della ImageButton e cercare – Raghunandan

+0

si prega di inviare l'intero XML, forse l'errore è in il tuo codice piuttosto che il commento. – NitroNbg

+0

@NitroNbg fidati di me. Non puoi inserire un commento all'interno di un tag xml – Blackbelt

risposta

8

I commenti XML non possono essere inseriti all'interno del tag markup. Sposta il commento per esempio sopra o sotto il tuo tag ImageButton.

Ecco il riferimento spec, con enfasi aggiunta:

Commenti possono apparire ovunque in un documento fuori altro markup

Dove markup è definito come:

Markup assume la forma di tag di inizio , tag di fine, tag di elementi vuoti, riferimenti di entità, riferimenti di caratteri, commenti, delimitatori di sezione CDATA, dichiarazioni di tipo di documento, istruzioni di elaborazione, dichiarazioni XML, dichiarazioni di testo e qualsiasi spazio bianco che si trova al livello superiore dell'entità del documento (cioè, all'esterno dell'elemento del documento e non all'interno di nessun altro markup)

+0

sì, ma perché non è possibile? – Blackbelt

4

Non è solo AS. È necessario inserire i tuoi commenti al di fuori della vostra tag di chiusura </> modo fare qualcosa di simile

<ImageButton 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:id="@+id/imageButton" 
android:layout_alignParentTop="true" 
android:src="@drawable/gfx_select_medium" 
android:layout_marginRight="22dp"/>  
<!-- android:background="?android:attr/selectableItemBackground" --> 

Vedi this link e this one da W3 sui commenti XML. In breve, dice

[Definizione: i commenti possono apparire ovunque in un documento al di fuori di altri markup;

preavviso

fuori altri markup

dal primo anello e

[Definizione: Markup prende la forma di start-tag, end-tag , ...

dal secondo link

+0

così ovunque all'interno di un file di layout non funziona perché tutto è all'interno del primo livello quindi. non è molto utile! – steveh

+0

@steveh no, ** possono ** essere all'interno di un file di layout come indicato nelle risposte. Non possono semplicemente essere all'interno del tag start/end per gli altri nodi. Ma possono ** essere all'interno del tag start/end dell'elemento root. – codeMagic

2

Si deve sapere che i commenti all'interno di un file XML sono considerati i nodi di tipo XmlComment, quindi se si carica il file XML quei nodi stanno per ottenere caricato ed è a voi per evitarli o filtrarli durante l'analisi del contenuto caricato.

Così, Questo sarà il formato corretto,

<ImageButton 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:id="@+id/imageButton" 
android:layout_alignParentTop="true" 
android:src="@drawable/gfx_select_medium" 
android:layout_marginRight="22dp"/>  
<!-- android:background="?android:attr/selectableItemBackground" --> 

Oppure si può vedere questo link ..

Problemi correlati