在我的应用中,有很多包含货币符号的文字视图。
现在我希望用户设置符号。我创建了一个共享首选项并添加了所有现有货币。不幸的是,那里有大约20种不同的货币。
因此,我正在努力如何动态更改所有文本视图中的货币符号。 我可以为每个创建一个大的switch case语句(有20个案例),但这会极大地破坏我的代码。
是否有其他技术可以更改符号。例如。借助不同语言的xml文件......
答案 0 :(得分:9)
1.根据用户输入
创建Locale对象示例:
Locale locale=new Locale("en", "US");
2.基于此获取货币符号并显示它。
示例:
Currency currency=Currency.getInstance(locale);
String symbol = currency.getSymbol();
答案 1 :(得分:3)
我认为你需要一个来自xml的格式化字符串,类似于来自the documentation的字符串:
<string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string>
然后在你的活动中:
Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages), username, mailCount);