转义多个 “%” Android 中的角色
在
<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>
导致相同的错误消息。啥?
<item>100% foo 40bar</item>
<item>100 foo 40%bar</item>
<item>100% foo 40%</item>
一切都会很好。 使用 \% 转义它会被忽略,从而导致相同的错误。 %% 不会导致错误,但我得到 %%。
In <string-array name="versions"> I have this beast of an entry (boiled down to a reasonable minimum to reproduce the effect):
<item>100% foo 40%bar</item>
which produces these errors:
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
Adding formatted="false" doesn't change a thing.
<item>100% foo 40%bar</item>
results in the same error messages. WTH?
<item>100% foo 40bar</item>
<item>100 foo 40%bar</item>
<item>100% foo 40%</item>
would all work fine.
Escaping it with \% is just ignored resulting in the same error. %% doesn't result in an error but I get %%.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
%
是 XML 中的保留字符,例如<
、>
等。对字符串资源中使用的每个
%
使用%%
。The
%
is a reserved character in XML like<
,>
, etc.Use
%%
for each%
you are using in the string resource.在 xml 中将每个字符编码为 unicode 字符对我来说很有效:
Encoding each as a unicode character in the xml works for me:
使用 CDATA 可能有效。
Using CDATA may work..