在< string-array name =“versions”>我有一个条目的野兽(煮沸到合理的最小值来重现效果):
<item>100% foo 40%bar</item>
产生这些错误:
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
添加formatted =“false”不会改变任何事情。
<item>100% foo 40%bar</item>
会产生相同的错误消息。 WTH?
<item>100% foo 40bar</item>
<item>100 foo 40%bar</item>
<item>100% foo 40%</item>
一切正常。 用\%转义它只是被忽略导致相同的错误。 %%不会导致错误但我得到%%。
答案 0 :(得分:23)
将每个编码为xml中的unicode字符对我有用:
<string name="test">100\u0025 foo 40\u0025bar</string>
答案 1 :(得分:23)
%
是XML中的保留字符,如<
,>
等。
对字符串资源中使用的每个%%
使用%
。
答案 2 :(得分:1)
使用CDATA可能有效..
<item><![CDATA[100% foo 40%]]></item>