解决strings.xml格式化占位符错误: Multiple substitutions specified in non-positional format

一、错误描述


我的string.xml中是这样写的:

<string name="module_map_camera_status">设备状态:%s  设备类型:%s</string>

之前一直都是正常的,今天突然报错了

这里写图片描述

二、问题原因

查后发现是string.xml中的  %s  导致编译失败,应该把 %s  改成 %1$s、%2$s 的形式
<string name="module_map_camera_status">设备状态:%1$s  设备类型:%2$s</string>

也可以增加属性
formatted="false"
<string name="module_map_camera_status" formatted="false">
设备状态:%s  设备类型:%s</string>
但是这样 会使得字符串丧失格式化的能力

这个错误和ADT的版本有关,旧版本不会出现这个提示。




版权声明:本文为zhuawalibai原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。