serenity - Escapa mĂșltiples personajes "%" en Android
firefly wikipedia (3)
En <string-array name = "versions"> tengo esta bestia de una entrada (reducida a un mínimo razonable para reproducir el efecto):
<item>100% foo 40%bar</item>
que 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>
resulta en los mismos mensajes de error. ¿Qué?
<item>100% foo 40bar</item>
<item>100 foo 40%bar</item>
<item>100% foo 40%</item>
todo funcionaria bien Escapar de él con /% simplemente se ignora y se produce el mismo error. %% no produce un error pero obtengo %%.
Codificar cada uno como un carácter Unicode en el xml funciona para mí:
<string name="test">100/u0025 foo 40/u0025bar</string>
El %
es un carácter reservado en XML como <
, >
, etc. Use %%
para cada %
que esté usando en el recurso de cadena.
Usar CDATA puede funcionar ..
<item><![CDATA[100% foo 40%]]></item>