我有一个字符串数组,其中使用了%符号。使用%的正确格式是%。当数组中有多个%它给出了这个错误。

 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

当前回答

我的情况有点不同。我从本地化网站生成我自己的XML文件,我不能让lint检查工作而不显示双%%登录设备。我收到了使用百分比符号而不使用String.format的lint错误

我将所有非格式化%符号替换为:\u0025

其他回答

尝试在它前面使用反斜杠,如下所示:

\%

一个棘手的方法:使用小百分号如下所示

 <string name="zone_50">Fat Burning (50&#65130; to 60&#65130;)</string> 

百分比在维基百科上签名

要转义百分比符号,只需要%%

例如:

String.format("%1$d%%", 10)

返回“10%”

不是你的问题,而是类似的问题。

如果字符串条目中有多个格式,则不应多次使用“%s”。

别:

<string name="entry">Planned time %s - %s (%s)</string>

做的事:

<string name="entry">Planned time %1$s - %2$s (%3$s)</string>

在你的strings.xml文件中,你可以使用任何你想要的Unicode符号。

例如,百分比符号的Unicode数字是0025:

<string name="percent_sign">&#x0025;</string>

您可以在这里看到Unicode符号的综合列表