0

私はこのコードを持っています:

            Locale locale_en = new Locale("en"); 
            Locale.setDefault(locale_en);
            Configuration config_en = new Configuration();
            config_en.locale = locale_en;
            getBaseContext().getResources().updateConfiguration(config_en, getBaseContext().getResources().getDisplayMetrics());

ロケールが変更され、問題なく動作します。問題は、アクティビティを変更すると、新しいアクティビティのロケールがデフォルトに再び設定されることです。コード例は次のとおりです。

Button o_nas_bt = (Button) findViewById(R.id.o_nas_bt_id);      
o_nas_bt.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            startActivity(new Intent("com.investwroclaw.ONASACTIVITY"));
        }
    });

アプリ全体のロケールを変更したいのですが。誰かがここで私を助けてくれますか?

サックス。

4

2 に答える 2

1

Ok。私の特定のケース(アプリのホームで言語を変更することを意味します)で機能するソリューションがあります。言語を変更する(つまりロケールを変更する)と、Intentと次のコードを使用してアクティビティを再開します。

            Intent intent = new Intent(InvestWroclawActivity.this, InvestWroclawActivity.class);
            startActivity(intent);              
于 2012-10-31T14:09:58.723 に答える
1

私は実際に電話のロケールを使用することを検討します。実はとても簡単です

于 2012-11-02T20:23:42.007 に答える