Android string.xml 文件中输入%号编译时报错

来源:互联网 发布:淘宝代码素材 编辑:程序博客网 时间:2024/04/29 15:45

Android string.xml 文件中输入%号编译时报错如下:

Error:(2820) Multiple substitutions specified in non-positional format; did you mean to add the formatted=”false” attribute?

我需要显示的文本效果

卡夫卡4%,你4%回来;

报错案例

 <!-- 报错 -->    <string name="test">卡夫卡4%,你4%回来;</string>    <string name="test1">卡夫卡4\%,你4\%回来;</string>    <string name="test3">卡夫卡4/%,你4/%回来;</string>    <string name="test21">卡夫卡4\%,你4\%回来;</string>    <string name="test23">卡夫卡4/%,你4/%回来;</string>

下面的都不报错:name=”test03”实现的效果是

卡夫卡4%%,你4%%回来;

 <!-- 不会报错 -->    <string name="test01">测试%1$d元%2$d元;</string>    <string name="test02">测试12%;</string>    <string name="test03">卡夫卡4%%,你4%%回来;</string>

正确的写法

 <string name="test31" formatted="false">卡夫卡4%d,你4%d回来;</string>

问题分析:

原因是在一个string 标签的子文本标签中检测到了多个%号没有指定特殊格式所导致的。

解决方案就是在name属性旁边加上formatted=”false”;

<string name"test" formatted="false"></string>
0 0