我在常用的strings.xml中定义了字符串资源文件,如下所示:
<string name="hello_world"> HELLO</string>是否可以定义如下所示的格式字符串
result_str = String.format("Amount: %.2f for %d days ", var1, var2);在strings.xml资源文件中?
我试图逃避特殊字符,但它不工作。
I have strings defined in the usual strings.xml Resource file like this:
<string name="hello_world"> HELLO</string>Is it possible to define format strings such as the one below
result_str = String.format("Amount: %.2f for %d days ", var1, var2);in the strings.xml resource file?
I tried escaping the special characters but its not working.
最满意答案
您应该将formatted="false"添加到字符串资源
这是一个例子
在你的strings.xml :
<string name="all" formatted="false">Amount: %.2f%n for %d days</string>在你的代码中:
yourTextView.setText(String.format(getString(R.string.all), 3.12, 2));You do not need to use formatted="false" in your XML. You just need to use fully qualified string format markers - %[POSITION]$[TYPE] (where [POSITION] is the attribute position and [TYPE] is the variable type), rather than the short versions, for example %s or %d.
Quote from Android Docs: String Formatting and Styling:
<string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string>In this example, the format string has two arguments: %1$s is a string and %2$d is a decimal integer. You can format the string with arguments from your application like this:
Resources res = getResources(); String text = res.getString(R.string.welcome_messages, username, mailCount);
更多推荐
发布评论