我一直在尝试使用Android中的复数资源,但是没有成功。
这是我的复数资源文件:
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<plurals name="meters">
<item quantity="one">1 meter</item>
<item quantity="other">
<xliff:g id="count">%d</xliff:g>
meters
</item>
</plurals>
<plurals name="degrees">
<item quantity="one">1 degree</item>
<item quantity="other">
<xliff:g id="count">%d</xliff:g>
degrees
</item>
</plurals>
</resources>
...然后这里是我尝试从资源中提取数量字符串时使用的代码:
Resources res = this.getResources();
tTemp.setText(res.getQuantityString(R.plurals.degrees, this.mObject.temp_c.intValue()));
...但是TextView中的文本仍然是%d degrees
和%d meters
。
有人知道发生了什么吗?我已经调试了代码,res.getQuantityString(...)调用返回一个值为%d degrees
或%d meters
的字符串。但当数量恰好为1时,它会正确计算为1 degree
或1 meter
。
提前感谢任何帮助!
敬礼,celestialorb。