En < cadena-array name = "versiones"> Tengo esta bestia de una entrada (reducido a un mínimo razonable para reproducir el efecto):escape múltiples caracteres “%” en Android
<item>100% foo 40%bar</item>
cuales produce estos errores:
Multiple annotations found at this line:
- error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?
- error: Found tag </item> where </string-array> is expected
Agregar formatted = "false" no cambia nada.
<item>100% foo 40%bar</item>
produce los mismos mensajes de error. ¿WTH?
<item>100% foo 40bar</item>
<item>100 foo 40%bar</item>
<item>100% foo 40%</item>
would all work fine. Escaparlo con \% simplemente se ignora, lo que da como resultado el mismo error. %% no genera un error, pero obtengo %%.
http://stackoverflow.com/questions/4414389/android-xml-percent-symbol/4417333#4417333, la mayor parte de lo que dice no funcionará, pero vea la última opción. –
Gracias por la respuesta. Lamentablemente, no estoy tratando con una cadena que permita la sustitución a menos que haya una forma de hacer sustituciones en las matrices. En mi arrays.xml hay una matriz de cadenas con elementos. Estos los cargo a través de getResources(). GetStringArray (R.array.versions); – Giszmo
ouch, getStringArray usa el formateador pero no le permite pasar argumentos de formato. Me temo que tendrá que volver a crear la matriz después de cargarla, sustituyendo en% o corregir las cadenas a medida que las utiliza. –