Android:Strings.xml中带有Double值的字符串格式

时间:2015-02-26 10:02:34

标签: android

我需要使用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

1 个答案:

答案 0 :(得分:4)

<string name="diseaseMessage">You have %1$s message, Unread %2$s</string>

来自Android docs:

格式化字符串

如果需要使用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);