2012-01-17 7 views
1

私のアプリでLocateをアラビア語と英語に切り替える必要があります。BlackBerry Localeを変更する

私は、ロケールを切り替えるために、次のコードがあります。

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); 

ロケールがアラビア語に変更されたときに私の問題があり、UIが反転するには、(アラビア語は右から左にある)、そして再びそれを切り替えますボタンを押すたびにテキストが変わります。私が間違っていることについて私を案内してください。

答えて

3

これは、そのロケールに関連するテキストでボタンフィールドを作成したためです。ロケールが変更されたら、buttonFieldテキストを

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

のように設定する必要があります。そのため、ロケールが変更されたときにUI全体を再ロードするにはどうすればよいですか? –

+0

ロケールを変更したら、ボタンフィールドなどを設定してUIをリフレッシュする画面でrefresh()メソッドを呼び出します。 – rfsk2010

関連する問題