我正在尝试在我最新的 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));
这是一个异常(exception):
android.content.res.Resources$NotFoundException:复数资源 ID #0x7f050001 quantity=0 item=other
我必须维护多达 15 种不同的语言,因此我需要本地化文本和复数形式。
知道我的代码有什么问题吗?
非常感谢。
最佳答案
Android 以这样一种方式实现复数,您需要考虑每个翻译以一致地要求每个复数项目。例如,如果您在 'es' 中声明了 'zero' 的复数形式,并且您还有一个 'fr' 文件,则还需要在 'fr' 文件中定义 'zero' 复数形式。
关于android - 使用复数以 ResourcesNotFoundException 结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6677716/