2016-07-22 5 views
1

言語をポートレートモードで選択するとうまくいきます。横向きに向きを変えてポートレートモードに戻すと、デフォルトで言語が選択されます。向きを変えた後、言語が英語に戻ります

私はアンドロイドmenifestファイル

アンドロイドでこのコードを試してみました:?configChanges = "キーボード|隠し|画面サイズ|オリエンテーション

だからいずれかは、事前に上記の要件 ありがとうを達成するためにどのように私を提案することができます

+0

ここで、言語を変更しますか?システム環境設定で? configChanges – Massimo

+0

に「locale」を追加する必要があります。コードを入力する必要がありますが、コードから何らかの理由でアプリケーション言語を設定しているように見えます。向き変更には考慮しません。 – Korcholis

+0

設定conf = res .getConfiguration(); conf.locale = locale; res.updateConfiguration(conf、dm); – Phoenix

答えて

-1

正しい方法は、アプリケーションのオブジェクトからそれを処理することです。

public class MyApp extends Application { 

    @Override 
    public void onConfigurationChanged(Configuration newConfig) { 
     super.onConfigurationChanged(newConfig); 
     // Set your locale here... 
    } 
} 
+0

ロケールをアクティビティから変更すると、アプリケーションクラスがこのlangを修正するので、より良いですが、私たちの設定では、アクティビティクラス –

+0

@ Yogesh Rathiはあなたのソリューションで、すべてのアクティビティでonConfigurationChangedメソッドを処理する必要があります。 –

+0

あなた自身のアクティビティを宣言して、カスタムアクティビティクラス –

0
@Override 
    public void onConfigurationChanged(Configuration newConfig) { 
     super.onConfigurationChanged(newConfig); 
     // Set your locale here... 
    } 

あなたのアクティビティクラスに上記のコードを追加すると、上記のローテーションが変更されたときに、ロケールはあなたのロケールがポートレートロケールに設定されているものを覚えていません。

関連する問題