Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 动态设置货币符号_Android_Textview - Fatal编程技术网

Android 动态设置货币符号

Android 动态设置货币符号,android,textview,Android,Textview,在我的应用程序中有很多包含货币符号的文本视图 现在我希望用户设置符号。我创建了一个SharedReference,并在其中添加了所有现有货币。不幸的是,大约有20种不同的货币 因此,我很难在所有文本视图中动态更改货币符号。 我可以为每个语句创建一个大的switch case语句(包含20个case),但这将极大地破坏我的代码 是否有其他方法可以更改符号。例如,借助不同语言的xml文件…我认为您需要一个xml格式的字符串,类似于: 有效的方法是使用和类 1.根据用户输入创建区域设置对象 例如:

在我的应用程序中有很多包含货币符号的文本视图

现在我希望用户设置符号。我创建了一个SharedReference,并在其中添加了所有现有货币。不幸的是,大约有20种不同的货币

因此,我很难在所有文本视图中动态更改货币符号。 我可以为每个语句创建一个大的switch case语句(包含20个case),但这将极大地破坏我的代码


是否有其他方法可以更改符号。例如,借助不同语言的xml文件…

我认为您需要一个xml格式的字符串,类似于:


有效的方法是使用

1.根据用户输入创建区域设置对象

例如:

       Locale locale=new Locale("en", "US");
     Currency currency=Currency.getInstance(locale);
     String symbol = currency.getSymbol(); 
2.基于此获取货币符号并显示它

例如:

       Locale locale=new Locale("en", "US");
     Currency currency=Currency.getInstance(locale);
     String symbol = currency.getSymbol(); 

通过使用像textview.setText(“一些文本”+symbol+“如果有的话更多的文本”)这样的setText()方法;听起来不错!好的,但我希望用户自己设置符号。但这也应该适用于您的解决方案?所以不是通过locale对象。我认为不使用locale是很困难的。为什么,因为您需要显式创建货币符号。
Locale=newlocale(“en”、“AU”)
给我
AU$
而不是
$