Android 定义字符串复数

示例

要区分复数和单数字符串,可以在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>

可以使用类的getQuantityString()方法从Java代码访问此定义Resources,如以下示例所示:

getResources().getQuantityString(R.plurals.hello_people, 3, 3);

在这里,第一个参数R.plurals.hello_people是资源名称。第二个参数(3在此示例中)用于选择正确的quantity字符串。第三个参数(3在此示例中也是)是format参数,它将用于替代格式说明符%d。

可能的数量值(按字母顺序列出)为:

few
many
one
other
two
zero

请注意,并非所有语言环境都支持的每个面额quantity。例如,中文没有one项目的概念。英文没有zero项目,因为语法与相同other。quantityIDE会将不支持的实例标记为Lint警告,但如果使用它们,则不会导致并发症。