2010-12-19 15 views
24

Actualicé mi ADT a la última versión después de liberar Gingerbread. Y ahoraADT muestra un error en Strings.xml

<string name="date_format">%d:%d %s</string> 

muestra el siguiente error

Multiple annotations found at this line: 
- error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" 
attribute? 
- error: Unexpected end tag string 

Anterior ADT versión funcionaba bien. ¿Estoy haciendo algo mal? Recibo este error cada vez que hay más de 1 especificadores de formato.

+1

En mi caso, escrito de forma errónea el parámetro de formato como el 1% $ s, en lugar de% 1 $ s. –

Respuesta

37

trate de hacer lo siguiente

<string name="date_format" formatted="false">%d:%d %s</string> 

La explicación detallada se puede encontrar en la respuesta a esta pregunta: Android XML Percent Symbol

+0

Sé que este hilo está muerto, pero muchas gracias. Por alguna razón, muchas de las demostraciones/ejemplos de SDK tienen este problema. – kmarks2

+0

Esto parece una solución alternativa, por lo que creo que la respuesta de Hopia es preferible: parece que coopera adecuadamente con la herramienta de empaquetado de activos de Android. –

42

O, alternativamente, se puede modificar% especificadores de formato a utilizar índices de argumentos, como por lo que:

<string name="date_format">%1$d:%2$d %3$s</string> 

Más información sobre la clase de formateador en el Android Reference Docs.

+0

Siento que esta es una mejor respuesta que la respuesta aceptada. –

0

También estoy viendo este error como causa de un error tipográfico: %$3s. Debe ser %3$s.

Sólo por alguien que es tonto como yo :)

Cuestiones relacionadas