2

それで、私が尋ねた別の質問に従って、私は言語を切り替えるために次のコードを使用しています。

Androidで言語を手動で(設定で)変更すると、正しい描画可能リソースと文字列リソースから取得されるため、これらが正しく構成されていると思います。

ただし、このコードを呼び出すと、何も起こりません(文字通り、いかなる種類のフィードバックも、エラーも、何もありません)。

正しいロケールコードを使用しているかどうかわからず、ロケールが言語にどのように変換されるかについて多少混乱しています...誰かが私がここで特に欠けているものを教えてくれることを望んでいます。

Resources res = getApplicationContext().getResources();

Locale locale = new Locale("us"); //here I have tried "en", "es", "en_US", "es_ES", nothing happens
Locale.setDefault(locale);

Configuration config = new Configuration();
config.locale = locale;

res.updateConfiguration(config, res.getDisplayMetrics());

これはラジオボタンの切り替えによって呼び出されています。デバッガーを設定し、コードが呼び出され、Locale.setDefaultメソッドに期待する値を渡していることを確認しました。

すべての助けに大いに感謝します。

4

1 に答える 1

2

ああ!

したがって、解決策(少なくとも機能するもの、それが正しい方法ではない場合、おそらく他の誰かが正しい方法でチャイムを鳴らすでしょう)は、このコードの後に​​再度setContentViewを使用することです。言語要素はすべて正しく表示されます。英語は「en」、スペイン語は「es」です。

于 2012-06-13T23:50:27.750 に答える