首页 > 代码库 > 量化字符串:安卓权威编程 13.7挑战练习-优化字符串资源显示

量化字符串:安卓权威编程 13.7挑战练习-优化字符串资源显示

注意到没有,只有一条crime记录的时候,显示总记录数的子标题会显示:1 crimes。请改正这个粗心的语法错误。
实现思路上,你可以在代码中准备不同字符串资源分情况使用,但这会给应用本地化制造麻烦。比较好的做法是使用复数字符串资源(又称为量化字符串)。
首先,在strings.xml文件中定义复数字符串资源。

<plurals name="subtitle_plural">
<item quantity="one">%1$s crime</item>
<item quantity="other">%1$s crimes</item>
</plurals>

然后,使用 getQuantityString 方法正确处理单复数问题。

1 int crimeSize = crimeLab.getCrimes().size();
2 String subtitle = getResources()
3 .getQuantityString(R.plurals.subtitle_plural, crimeSize, crimeSize);

 

量化字符串:安卓权威编程 13.7挑战练习-优化字符串资源显示