Multiple annotations found at this line: ---关于android string.xml %问题
2011-11-01 10:01
405 查看
分类: 1.Android2011-05-17
21:15 256人阅读 评论(0) 收藏 举报
本文来源于:hunter的博客(/article/2211816.html )
Multiple annotations found at this line:
- error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false"
attribute?
- error: Unexpected end tag string
反复检查后发现是string.xml中的 % 导致编译失败,
这是由于新的SDK采用了新版本的aapt(Android项目编译器),这个版本的aapt编译起来会比老版本更加的严格,然后在Android最新的开发文档的描述String的部分,已经说明了如何去设置 %s 等符号,下面是文档片段:
If you need to format your strings using String.format(String, Object...) , then you can do so by putting your format arguments in the string resource. For example, with the following resource:
如果你需要使用 String.format(String, Object...) 来格式化你的字符串,你可以把格式化参数放在你的字符串中,参见下面的例子:
<string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string>
In this example, the format string has two arguments: %1$s is a string and %2$d is a decimal number. You can format the string with arguements from your application like this:
在这个例子中,这个格式化的字符串有2个参数, %1$s是个字符串 %2$d 是个浮点数,你可以在你的程序中按照下面的方法来根据参数来格式化字符串:
Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages), username, mailCount);
那么根据例子上说的我需要把%s换成%1$s才行了,修改后编译通过,程序成功启动。
问题补充:
有读者问如何在<string></string>中使用%号
有两个办法可供选择
1. 用%%来表示1个%,和转意符号 / 的用法相同 2.如果你的字符串不需要格式化,可以在你的<string 标签上增加一个属性:formatted="false"例如 <string name="test" formatted="false">% test %</string> 即可
21:15 256人阅读 评论(0) 收藏 举报
本文来源于:hunter的博客(/article/2211816.html )
Multiple annotations found at this line:
- error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false"
attribute?
- error: Unexpected end tag string
反复检查后发现是string.xml中的 % 导致编译失败,
这是由于新的SDK采用了新版本的aapt(Android项目编译器),这个版本的aapt编译起来会比老版本更加的严格,然后在Android最新的开发文档的描述String的部分,已经说明了如何去设置 %s 等符号,下面是文档片段:
If you need to format your strings using String.format(String, Object...) , then you can do so by putting your format arguments in the string resource. For example, with the following resource:
如果你需要使用 String.format(String, Object...) 来格式化你的字符串,你可以把格式化参数放在你的字符串中,参见下面的例子:
<string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string>
In this example, the format string has two arguments: %1$s is a string and %2$d is a decimal number. You can format the string with arguements from your application like this:
在这个例子中,这个格式化的字符串有2个参数, %1$s是个字符串 %2$d 是个浮点数,你可以在你的程序中按照下面的方法来根据参数来格式化字符串:
Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages), username, mailCount);
那么根据例子上说的我需要把%s换成%1$s才行了,修改后编译通过,程序成功启动。
问题补充:
有读者问如何在<string></string>中使用%号
有两个办法可供选择
1. 用%%来表示1个%,和转意符号 / 的用法相同 2.如果你的字符串不需要格式化,可以在你的<string 标签上增加一个属性:formatted="false"例如 <string name="test" formatted="false">% test %</string> 即可
相关文章推荐
- Multiple annotations found at this line: ---关于android string.xml %问题。
- Multiple annotations found at this line: ---关于android string.xml %问题。
- Multiple annotations found at this line: ---关于android string.xml %问题。
- Multiple annotations found at this line: ---关于android string.xml %问题
- 异常-----web.xml文件报错 Multiple annotations found at this line: - cvc-complex-type.2.4.b: The content of element 'welcome-file-list' is not complete. One of '{"http://java.sun.c
- Eclipse的JSP页面提示Multiple annotations found at this line或者String cannot be resolved to a type
- android 自定义view Multiple annotations found at this line:
- Eclipse的JSP页面提示Multiple annotations found at this line或者String cannot be resolved to a type
- xml报错-Multiple annotations found at this line
- Maven pom.xml报错Multiple annotations found at this line: - Missing artifact log4j:log4j:jar:1.2.15:co
- Maven pom.xml报错Multiple annotations found at this line: - Missing artifact log4j:log4j:jar:1.2.15:co
- pom.xml 报错:Multiple annotations found at this line
- Maven pom.xml报错 Multiple annotations found at this line
- pom.xml 报错:Multiple annotations found at this line
- Maven项目pom.xml中Multiple annotations found at this line问题
- 关于struts2的redirectAction报类似“Multiple annotations found at this line:”错误
- Java web 中的会遇到的小问题之一(Multiple annotations found at this line)
- Multiple annotations found at this line: - String cannot be resolved to a type
- 如何解决dubbo配置文件中Multiple annotations found at this line问题
- Eclipse的JSP页面提示Multiple annotations found at this line或者String cannot be resolved to a type