您的位置:首页 > 移动开发 > Android开发

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

2016-07-31 20:49 260 查看
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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: