在Android应用程序中,我有以下字符串资源:
<plurals name="test">
<item quantity="zero">"I have 0 item"</item>
<item quantity="one">"I have 1 item"</item>
<item quantity="other">"I have several items"</item>
</plurals>
以下代码行:
String text = getResources().getQuantityString(R.plurals.test, 0)
我期望返回
我有0项
但它实际上会返回
我有1件
为什么?
答案 0 :(得分:7)
一些Plattforms和手机上的数量字符串已被issue Tracker打破,此讨论"Should Plurals and Quantity Strings be used"指出。这取决于许多你无法控制的因素(即手机上的本地化)。
一个解决方案可以是使用像this one这样的外部库,它可以模拟相同的功能。
另一个解决方案在android中的复数文档中说明。避免使用它并使用“数量中性”配方,如“书籍:1”
答案 1 :(得分:-4)
像这样更改代码
String text = getResources().getQuantityString(R.plurals.test, 0,0);