带有点分隔标识符名称的Android字符串复数

时间:2014-06-17 08:51:43

标签: android string android-resources

我目前正在开发一款Android应用,它大量使用android资源字符串进行国际化。每个字符串标识符名称都具有特定格式,例如

<string name="example.string.name.identifier">Example</string>
代码中的

我可以用以下字符引用字符串:

R.string.example_string_name_identifier

这适用于普通字符串。但是,只要我将此格式用于多个标识符名称,就会出现以下错误:

error: Error retrieving parent for item: No resource found that matches the given name 'example.plural.name'

字符串复数定义如下:

<plurals name="example.plural.name.identifier">
    <item quantity="one">Example</item>
    <item quantity="other">Examples</item>
    <item quantity="zero">Examples</item>
</plurals>

在代码中我引用了复数:

// _amount is a function parameter
String exampleString = getResources().getQuantityString(R.plurals.example_plural_name_identifier, _amount, _amount);

不幸的是,我工作的公司,真的希望我坚持这种模式。是否有可能将此模式与字符串复数形式一起使用,或者我们是否必须重命名标识符?

1 个答案:

答案 0 :(得分:1)

你如何找回复数?

示例:

int number=2;
Resources res = getResources();
String quantityString = res.getQuantityString(R.plurals.example.plural.name.identifier, number, number);

好吧,你似乎只能在名字中使用'_'。名字中的任何一个点都会给我带来与dot相同的问题作为名字的第一个字符。