我需要使用Format创建一个String,以在应用程序中显示一些double值。我不清楚如何编码它。这就是我所拥有的:
<string name="diseaseMessage">You have %s message, Unread %s</string>
我收到此错误:
error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?
error: Unexpected end tag string strings.xml /TSMS Pro/res/values line 70 Android AAPT Problem
答案 0 :(得分:4)
<string name="diseaseMessage">You have %1$s message, Unread %2$s</string>
格式化字符串
如果需要使用String.format(String, Object...)格式化字符串,则可以将格式参数放在字符串资源中。例如,使用以下资源:
<string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string>
在此示例中,格式字符串有两个参数:%1 $ s是字符串,%2 $ d是十进制数。您可以使用应用程序中的参数格式化字符串,如下所示:
Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages), username, mailCount);