今天在做安卓应用学习的过程中,遇到了在资源文件中使用格式化字符串的问题使用的字符串如下:
()
<string name="crime_report">%1$! The Crime was discovered on %2$s. %3$s. and %4$s</string>
然后,程序中填充该字符串的代码如下:
<pre name="code" class="java">//带4个占位符
String report = getString(.crime_report, (), dateString, solvedString, suspect);
但是运行的时候报错:
09-05 14:39:25.115: E/AndroidRuntime(17361): : Conversion: !
看样子,是说格式化的问题,然后就检查一下格式化字符串的问题,问题找到了,是第一个参数格式不对:
%1$, 正确的格式应该是: %1$s
修改之后再次运行,问题解决。