2011-10-21 11 views

risposta

59

È perché continue è un simbolo riservato in Java, quindi non è possibile utilizzarlo come nome per qualsiasi oggetto nei file XML o nel codice Java.

Il motivo per cui questo è un problema è che l'XML definito nel progetto è tradotto in codice Java che la VM di Dalvik può comprendere. Quindi, il codice si traduce sopra in quanto segue in R.java:

public final class R { 
    public static final class string { 
     public static final int continue=0x7f040000; 
    } 
} 

Il problema è più evidente quando si esamina la (aspiranti) Codice generato.

Vedere list of reserved Java symbols per altri da evitare.

+0

grazie mille per il suggerimento. Ho cercato di utilizzare un pulsante Continua nella mia app con il nome continua, e ora so perché il mio R.java non può essere generato. –

+0

Quindi c'è qualche problema? Sto affrontando lo stesso problema ma nel mio caso la stringa è "vuoto" non posso evitare di scriverlo. – Gem

+0

La stringa * contenuto * può essere una parola chiave, ma l'attributo * 'nome' * non può essere una parola chiave. Quindi, ' Void' non funzionerà, ma ' Void' va bene. –

5

"continue" è una parola chiave Java e R.java non viene compilato.

public static final int continue=0x7f040001; 

il codice sopra causerebbe un "Errore di sintassi sul gettone 'continua', valida VariableDeclaratorId" errore.

Problemi correlati