2012-01-17 169 views
1

我需要在我的应用程序中切换阿拉伯语和英语之间的定位。更改BlackBerry语言环境

我有下面的代码来切换语言环境:

if (Locale.getDefault() == Locale.get(Locale.LOCALE_ar, null)) { 
    Locale.setDefault(Locale.get(Locale.LOCALE_en, null)); 
} else { 
    Locale.setDefault(Locale.get(Locale.LOCALE_ar, null)); 
} 

而且在我的应用我有以下的资源文件:

  • appName.rrh
  • appName.rrc
  • appName_ar .rrc
  • appName_en.rrc

而且我有一个使用一个本地化的字符串如下按钮:

subscribeButton = new ButtonField(res.getString(LANG), ButtonField.CONSUME_CLICK); 

时的语言环境更改为阿拉伯语我的问题是,用户界面翻转(阿拉伯语是从右到左),并重新开机以英文翻转它,但没有在按钮中的文字改变。请指导我做错了什么。

回答

3

因为您已经创建了与该语言环境相关的文本的按钮字段。一旦语言环境发生变化,您将不得不重新设置buttonField文本为

subscribeButton.setLabel(res.getString(LANG)); 
+0

那么,当语言环境更改时,如何重新加载整个UI? – 2012-01-17 15:40:35

+0

更改语言环境时,请在屏幕中调用refresh()方法,通过设置按钮字段等来刷新UI。 – rfsk2010 2012-01-17 15:46:14