Android 格式化带有参数的字符串数组
我想格式化字符串数组,如下所示: 通常我们会:Android 格式化带有参数的字符串数组,android,string-formatting,Android,String Formatting,我想格式化字符串数组,如下所示: 通常我们会: strings.xml <string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string> 我要找的东西是: 在某些任意xml中: <string-array name="employee"> <item>name: %1$s</item> &l
- strings.xml
<string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string>
- 在某些任意xml中:
<string-array name="employee"> <item>name: %1$s</item> <item>post: %2$s</item> </string-array>
<string-array
name="string_array">
<item>1st position: %1$d</item>
<item>2nd position: %1$d</item>
</string-array>
第一个职位:%1$d
第二个职位:%1$d
然后,在java代码中:
Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages), username, mailCount);
Resources res = getResources();
String[] employee = ArrayString.format(res.getStringArray(R.string.employee), name, post);
res = getResources();
String[] sa = res.getStringArray(R.array.string_array);
for (int i = 0; i < sa.length; i++ ) {
text += String.format(sa[i], i);
}
res=getResources();
String[]sa=res.getStringArray(R.array.String\u数组);
对于(int i=0;i
getQuantityString可能会解决您的问题
查看中的数量字符串
以下是具体的API文档:
只需使用:
String text = String.format(res.getStringArray(R.array.myStringArray)[index], param1, param2);
@Chuck_Norris quantity String实际上是在一组基于数量的多种可能性中选择一种格式,例如零、少、多。。。我需要使用整个数组字符串,每个数组位置可能是一个带参数的字符串。那么,您是如何解决它的?我有一个类似的问题。似乎没有优雅的方式来执行这种格式化。您需要迭代每个字符串数组元素,并根据需要对其进行格式化。有什么样的样品可以分享吗?现在,我只是使用下面的代码片段按名称选取字符串,并提供格式化参数,就像使用简单的资源字符串一样。我用变通方法编辑了答案。我希望它能帮助你。