1

我开发的金融应用程序应该使用取决于国家/地区的不同货币符号。我正在使用这段代码:

Float value = 100;
TextView tv = (TextView) view;
NumberFormat currencyFormat = NumberFormat.getCurrencyInstance();
tv.setText(currencyFormat.format(value));

我有几份报告说我的应用程序正在返回欧元符号而不是正确的货币(例如在马来西亚或印度)。这些用户声明他们的系统语言是他们国家的本地语言。我无法证明自己,因为我的手机或模拟器上没有这样的语言可用。

4

1 回答 1

1

我想您可以尝试在您的应用程序中强制使用语言环境,因为这似乎与设备上默认语言环境的设置方式有关。看到这些链接 -

如何从 android Emulator 设置中选择塞尔维亚语?

http://www.tutorialforandroid.com/2009/01/force-localize-application-on-android.html

这可能会帮助您复制用户在其设备上报告的问题。

编辑: 我自己没有测试过这个,但它可以在你的情况下工作。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    String languageToLoad  = "en";
    String countryToLoad = "MY"; // 2 digit country code for Malaysia
    Locale locale = new Locale(languageToLoad, countryToLoad); 
    Locale.setDefault(locale);
    Configuration config = new Configuration();
    config.locale = locale;
    getBaseContext().getResources().updateConfiguration(config, 
    getBaseContext().getResources().getDisplayMetrics());
    this.setContentView(R.layout.main);
}
于 2012-08-06T14:58:17.883 回答