使用带有%,$和/和格式的strings.xml

Zuo*_*nqh 6 xml string android

我将此行添加到我的strings.xml中,它不会编译成R.
<string name="cl_txt_verinfo">List Version: %1$s\nAuthor: %2$s\nDate Created: %3$s\nLanguage: %4$s</string>

我得到的错误是:

错误:以非位置格式指定的多个替换; 你的意思是添加formatted ="false"属性?错误:意外的结束标记字符串

我想问一下如何使这个工作(我稍后会使用string.format)和"formatted = false"做什么,而不是添加/添加为true.

编辑:清理和构建是我得到此错误的方式.我得到了这么多次.但后来我删除了一个空行并清理并重建一切都很好.这实际上是不一致的,我不知道是什么原因导致了这个问题.

剩下两个问题:

  • 有人还能告诉我"格式化=假"会有什么不同吗?
  • 我是如何得到这种行为的?(当没有这种行为时报告错误,我试图通过吹嘘并造成混乱来修复它)

这不是我唯一一次错误,然后它神奇地修复了自己.有时我重新启动我的adt并且它自行解决,但不是这次可悲的.

DCo*_*der 9

如果添加,则会禁用字符串资源中的formatted=false格式说明符(等),并且Formatter将无法识别它们.肯定会对你有所帮助.%$

对于你的第二个问题没有确切的解决方案,但我做的是删除gen和bin文件夹,然后清理构建项目.每次构建项目时都会发生什么,android会检查是否有可用的新资源并将其添加到R.java中,然后才能使用它.