使用Plurals在ResourcesNotFoundException中结束

Har*_*elm 18 resources android plural

我试图在我最新的Android项目(SDK9)中使用复数.它始终以ResourcesNotFoundException结尾.但资源就在那里 - 绝对:

这是我的strings.xml的一部分:

<plurals name="count_files">
  <item quantity="one">%d file</item>
  <item quantity="other">%d files</item>
  <item quantity="zero">%d files</item>
</plurals>

<plurals name="count_folders">
  <item quantity="one">%d folder</item>
  <item quantity="other">%d folders</item>
  <item quantity="zero">%d folders</item>
</plurals>
Run Code Online (Sandbox Code Playgroud)

这是使用它的部分:

textView.setText(
    getResources().getQuantityString(R.plurals.count_folders, countfolders, countfolders) 
    + ", " 
    + getResources().getQuantityString(R.plurals.count_files, countfiles, countfiles));
Run Code Online (Sandbox Code Playgroud)

这是例外:

android.content.res.Resources$NotFoundException: Plural resource ID #0x7f050001 quantity=0 item=other

我必须保持多达15种不同的语言,因此我需要文本和复数的本地化.

知道我的代码有什么问题吗?

提前谢谢了.

Mat*_*yas 1

Android 以这样的方式实现复数,您需要考虑每个翻译以一致地要求每个复数项目。例如,如果您在“es”中声明了“zero”的复数形式,并且您还有一个“fr”文件,则还需要在“fr”文件中定义“zero”复数形式。

  • 导致相同错误的另一个示例:忘记“其他”数量 (4认同)