使用场景:当我们的数据只有一条的时候,我们希望单词不用加s;当数据大于一条的时候,我们需要单词是复数形式。
实现思路:在代码中进行判断,并且准备不同的字符串资源分情况使用,但是这样不利于应用进行本地化。此处提供另一种思路,复数字符串资源或者叫量化字符串。
实际操作:首先,在string.xml文件中定义复数字符串资源
![](https://img.haomeiwen.com/i2545856/f2f70fdea3df07c2.jpg)
然后,在代码中进行使用
int crimeSize = crimeLab.getCrimes().size();
String subtitle = getResources().getQuantityString(R.plurals.subtitle_plural, crimeSize, crimeSize);
这样,就可以完美解决此问题了,同时你也可以根据具体需求定义多个item。
注意:
在使用getQuantityString()方法时,如果字符串包含数字格式化串,则需要传递2个crimeSize参数。如果复数字符串资源不包含格式化信息,就不需要给getQuantityString()传递第三个参数
![](https://img.haomeiwen.com/i2545856/34507962b0b0e242.png)
网友评论