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

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值