getQuantityString返回带有0值的错误字符串

sda*_*bet 10 android android-resources

在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>
Run Code Online (Sandbox Code Playgroud)

以下代码行:

String text = getResources().getQuantityString(R.plurals.test, 0)
Run Code Online (Sandbox Code Playgroud)

我希望能回来

我有0项

但实际上它会回归

我有1个项目

为什么?

Raf*_*l T 7

一些Plattforms和手机上的数量字符串被打破,因为问题跟踪器和这个讨论"应该使用多个和数量字符串"指出.这取决于许多无法控制的因素(即手机本地化).

一种解决方案可以是采用像这样的外部库,它可以模拟相同的功能.

另一个解决方案在android中的复数文档中说明.避免使用它并使用"数量中性"配方,如"书籍:1"