-1

所以我有一个使用各种货币符号的应用程序,您可以通过标准偏好视图选择您喜欢的任何一种,我注意到如果一种货币使用相同的符号,例如美元、澳元、新加坡元 ($),它将默认为最后一个项目名单。例如,从下面的列表中,如果我选择 USD 或 AUD,当我再次点击时,它将默认为 SGD,但如果我选择 ZAR、MYR、EUR 或 GBP,它将坚持使用该值,因为该值不会重复。我在这里做错了什么还是这是一个已知问题?

    <string-array name="currency">
    <item name="eur">EUR</item>
    <item name="gbp">GBP</item>
    <item name="jpy">JPY</item> 
    <item name="usd">USD</item>
    <item name="zar">ZAR</item> 
    <item name="myr">MYR</item>     
    <item name="cny">CNY</item> 
    <item name="aud">AUD</item> 
    <item name="sgd">SGD</item>                                                                                                                                                                         
</string-array>

<string-array name="currencyValues">
    <item name="eur">€&lt;/item>
    <item name="gbp">£</item>
    <item name="jpy">¥</item>
    <item name="usd">$</item>
    <item name="zar">R</item>   
    <item name="myr">MR</item>  
    <item name="cny">¥</item>   
    <item name="aud">$</item>   
    <item name="sgd">$</item>                                                                                                                                                                                                                                                                                                                                           
</string-array>
4

1 回答 1

0

我不会称它为错误,因为它没有说明重复值会发生什么。我说这是幕后的原因,因为只有实际值(在特殊情况下为 $)被保存,所以无法知道选择了哪些条目。

解决它的一种方法是在值中包含货币名称(或每种货币的整数),并使用辅助函数将其解析为货币符号。另一个更快的技巧是保存货币名称和符号,例如AUD$,仅在您想使用它时才显示最后一个字符。

但是,我的建议是同时使用货币名称以避免不同货币之间的混淆。例如,维基百科说 USD、SGD 和 AUD 有时分别缩写为 US$、S$ 和 A$。

于 2013-07-10T23:01:08.993 回答