我一直在尝试使用 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
and %d meters
。
有谁知道发生了什么?我已经调试了代码, res.getQuantityString(...) 调用返回一个值为%d degrees
or的字符串%d meters
。尽管当数量恰好为 1 时,它确实正确地计算为1 degree
or 1 meter
。
提前感谢您的帮助!
问候,天体。