getQuantityString无法在真实设备上运行

时间:2017-11-16 07:24:35

标签: android plural

我遇到了一个奇怪的问题。 getQuantityString()方法在android工作室模拟器上工作,但不在真实设备上工作。

这是strings.xml中的代码:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <plurals name="subtitle_plural">
        <item quantity="one">%1$s crime</item>
        <item quantity="other">%1$s crimes</item>
    </plurals>
</resources>
片段中的

代码:

CrimeLab crimeLab = CrimeLab.get(getActivity());
int crimeSize = crimeLab.getCrimes().size();
String subTitle = getResources()
                .getQuantityString(R.plurals.subtitle_plural, crimeSize, crimeSize);

当我在模拟器上运行项目时,它可以工作。但如果在真实设备上运行,即使subTitle等于** crimescrimeSize也始终为1

这是怎么发生的?

1 个答案:

答案 0 :(得分:0)

你应该这样使用:

CrimeLab crimeLab = CrimeLab.get(getActivity());
int crimeSize = crimeLab.getCrimes().size();
String subTitle = String.format(getResources()
                .getQuantityString(R.plurals.subtitle_plural, crimeSize, crimeSize));