定義字串複數
要區分複數和單數字串,可以在 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 警告,但如果使用它們將不會導致複雜錯誤。