定义字符串复数
要区分复数和单数字符串,可以在 strings.xml 文件中定义复数并列出不同的数量,如下例所示:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<plurals name="hello_people">
<item quantity="one">Hello to %d person</item>
<item quantity="other">Hello to %d people</item>
</plurals>
</resources>
可以使用 Resources
类的 getQuantityString()
方法从 Java 代码访问此定义,如以下示例所示:
getResources().getQuantityString(R.plurals.hello_people, 3, 3);
这里,第一个参数 R.plurals.hello_people
是资源名称。第二个参数(本例中为 3
)用于选择正确的 quantity
字符串。第三个参数(在本例中也是 3
)是格式参数,用于替换格式说明符%d
。
可能的数量值(按字母顺序列出)是:
few
many
one
other
two
zero
值得注意的是,并非所有语言环境都支持 quantity
的每种面额。例如,中文没有 one
项的概念。英语没有 zero
项目,因为它在语法上与 other
相同。不支持的 quantity
实例将被 IDE 标记为 Lint 警告,但如果使用它们将不会导致复杂错误。