我试图格式化字符串从string.xml重用它与几个值。我遇到一些问题,因为String也应该包含格式化程序使用的百分比符号。我已经尝试用它的unicode表示来替换%符号,但似乎不起作用:
The new value is %1$s%
The new value is %1$s\u0025
The new value is %1$s
Java代码:
String value = "25";
String formattedString = context.getResources().getString(R.string.teststring), value);
在这个例子中teststring和teststring2会产生一个错误,而teststring3工作正常。将该%符号放在xml-string中的正确方法是将“新值为25%”格式化为String?
谢谢你的帮助。
堆栈跟踪:
FATAL EXCEPTION: main
java.util.UnknownFormatConversionException: Conversion:
at java.util.Formatter$FormatSpecifierParser.unknownFormatConversionException(Formatter.java:2304)
at java.util.Formatter$FormatSpecifierParser.advance(Formatter.java:2298)
at java.util.Formatter$FormatSpecifierParser.parseConversionType(Formatter.java:2377)
at java.util.Formatter$FormatSpecifierParser.parseArgumentIndexAndFlags(Formatter.java:2348)
at java.util.Formatter$FormatSpecifierParser.parseFormatToken(Formatter.java:2281)
at java.util.Formatter.doFormat(Formatter.java:1069)
at java.util.Formatter.format(Formatter.java:1040)
at java.util.Formatter.format(Formatter.java:1009)
at java.lang.String.format(String.java:1988)
at android.content.res.Resources.getString(Resources.java:343)
at (... and so on)
– 编辑 –
谢谢您的帮助。正确的答案是
The new value if %1$s%%
format =“false”不能设置。