使用Plurals在ResourcesNotFoundException中结束

时间:2011-07-13 10:49:18

标签: android resources 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>

这就是使用它的部分:

textView.setText(
    getResources().getQuantityString(R.plurals.count_folders, countfolders, countfolders) 
    + ", " 
    + getResources().getQuantityString(R.plurals.count_files, countfiles, countfiles));

以下是例外:

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

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

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

非常感谢提前。

1 个答案:

答案 0 :(得分:1)

Android以这样的方式实现复数形式,您需要考虑每个翻译以始终要求每个复数项目。例如,如果你在'es'中声明了'0'的复数,并且你也有'fr'文件,那么你也需要在'fr'文件中定义'zero'复数。