复数“一”不起作用 - 总是使用“其他”资源

时间:2018-05-09 05:12:06

标签: android android-resources plural

我想使用Android的plurals资源。

大多数问题都提到“一个”正在运作但其他数量不是; 但我遇到了相反的情况......

的strings.xml

<plurals name="imagepicker_multiselect_not_enough">
    <item quantity="one">You have to select %d more image</item>
    <item quantity="other">You have to select %d more images</item>
</plurals>
<plurals name="imagepicker_multiselect_enough">
    <item quantity="one">You have selected %d image</item>
    <item quantity="other">You have selected %d images</item>
</plurals>

请注意,我还尝试了1 image而不是%d image

SomeFragment.java

        if (newCount < minimumMultiSelectCount) {
            tvMultiSelectMessage.setText(getContext().getResources().getQuantityString(
                    R.plurals.imagepicker_multiselect_not_enough,
                    minimumMultiSelectCount - newCount,
                    minimumMultiSelectCount - newCount));
        } else {
            tvMultiSelectMessage.setText(getContext().getResources().getQuantityString(
                    R.plurals.imagepicker_multiselect_enough, newCount, newCount));
        }

我总是得到“你选择了1张图片”或“你必须再选择1张图片”......

我确保这是tvMultiSelectMessage被调用的唯一地方。

我也尝试过清理和重建,卸载并重新安装,没有运气......

有什么想法吗?!

更新

刚才我尝试将other更改为few,我得到了这个例外:

Resources$NotFoundException: Plural resource ID #0x7f0c0001 quantity=1 item=other

quantity=1 item=other
quantity=1 item=other .....
quantity=1 item=other !!!!

我是否应该将其视为错误?

0 个答案:

没有答案