2012-09-01 28 views
7

A veces, cuando quiero referir a un valor a una cadena de referencia que utilizo @ string/blabla, pero a veces, me da un error que se puede ejecutar el código a menos que cambie @string to @+string ¿Cuál es la diferencia entre ellos? Cualquier respuesta sería tan útil. ¡Gracias por adelantado!Diferencia entre @string y @ + string?

+6

nunca he visto '@ + string' utilizado en cualquier lugar de Android. He visto '@ + id' utilizado, para asignar un nuevo recurso de ID. Proporcione algún código de muestra que use '@ string' que le proporcione errores y proporcione el error real. – CommonsWare

+0

¿Dónde has usado @ + string? – brianestey

Respuesta

6

El + significa que este identificador se añadirá a los recursos. Usted declara que existe en algún lugar y lo usa al mismo tiempo. No estoy seguro de si eso realmente se aplica a las cadenas, pero supongo que sí. Eso explicaría por qué no obtienes ningún error.

y dudo que es bueno utilizar una + para hacer que funcione. Podría terminar con una declaración de cadena sin contenido de cadena real que probablemente provoque un bloqueo.

Si no funciona sin el edificio + try/refrescante su proyecto. Si la cadena está definida en uno de sus archivos xml, debería poder usar @string

1

@String son los valores retreived desde el archivo de cadenas.

0

Hola chicos usan la elipse más nueva, hay una pequeña diferencia entre ella y las anteriores. Supongo que la respuesta de Zapl es correcta, el signo + es para agregarlo a las referencias. ¡Animo amigos!

Cuestiones relacionadas