定义字符串复数

要区分复数和单数字符串,可以在 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 警告,但如果使用它们将不会导致复杂错误。