gpt4 book ai didi

Android Pluralization 不起作用,需要帮助

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:51:49 26 4
gpt4 key购买 nike

我一直在尝试在 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 度%d 米

有人知道这是怎么回事吗?我调试了代码,res.getQuantityString(...) 调用返回一个字符串,其值为 %d degrees%d meters。尽管当数量恰好为 1 时,它会正确计算为 1 度1 米

在此先感谢您的帮助!

问候,celestialorb。

最佳答案

看来需要指定count两次,第一次是用来确定要使用的字符串,第二次是替换成字符串的那个。例如

Resources res = this.getResources();
int tv = this.mObject.temp_c.intValue();
tTemp.setText(res.getQuantityString(R.plurals.degrees, tv, tv));

至少在我目前的测试中,不需要资源中的 xliff:g 元素。

关于Android Pluralization 不起作用,需要帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3715014/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com