Android多元化不起作用,需要帮助

Android多元化不起作用,需要帮助,第1张

概述我一直试图利用 Android的复数资源,但没有任何运气. 这是我的复数的资源文件: <?xml version="1.0" encoding="utf-8"?> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <plurals name="meters"> <item 我一直试图利用 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度或%d米的字符串.虽然当数量恰好为1时,它正确地评估为1度或1米.

提前感谢任何帮助!

问候,celestialorb.

解决方法 看来,您需要指定两次计数,第一个用于确定要使用的字符串,第二个是替换为字符串的字符串.例如
Resources res = this.getResources();int tv = this.mObject.temp_c.intValue();tTemp.setText(res.getQuantityString(R.plurals.degrees,tv,tv));

至少在我的测试中,资源中的xliff:g元素是不需要的.

总结

以上是内存溢出为你收集整理的Android多元化不起作用,需要帮助全部内容,希望文章能够帮你解决Android多元化不起作用,需要帮助所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1131713.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存