2012-09-01 14 views
7

A volte, quando voglio riferire un valore a una stringa di riferimento, uso @ string/blabla, ma a volte, mi dà un errore che posso eseguire il codice a meno che non cambi @string to @+string Qual è la differenza tra loro? Qualsiasi risposta sarebbe così utile. Grazie in anticipo!Differenza tra @string e @ + stringa?

+6

Non ho mai visto '@ + stringa' utilizzato ovunque in Android. Ho visto '@ + id' usato, per allocare una nuova risorsa ID. Fornisci un codice di esempio che utilizza '@ string' che ti dà errori e fornisce l'errore effettivo. – CommonsWare

+0

Dove hai mai usato @ + string? – brianestey

risposta

6

Il + significa che questo identificatore verrà aggiunto alle risorse. Dichiari che esiste da qualche parte e usalo allo stesso tempo. Non sono sicuro se ciò si applica davvero alle stringhe, ma immagino che lo faccia. Spiegherebbe perché non si ottiene alcun errore.

E dubito che sia opportuno utilizzare un + per farlo funzionare. Si potrebbe finire con una dichiarazione di stringa senza contenuto di stringa effettiva che probabilmente causerà un arresto anomalo.

Se non funziona senza lo +, provare a creare/aggiornare il progetto. Se la stringa è definita in uno dei tuoi file xml dovresti essere in grado di usare @string

1

@String sono i valori recuperati dal file di stringhe.

0

hey ragazzi usano il più recente elipse, c'è un po 'di differenza tra questo e quelli vecchi. Credo che la risposta di zapl sia corretta, il segno + è quello di aggiungerlo ai riferimenti. Ciao ragazzi!

Problemi correlati