0

私は と を持っSplashActivityMainActivityおり、デフォルトのデバイス言語は英語です。ではSplashActivity、アプリケーションのデフォルト言語を vi (ベトナム語) に変更します。以下のコードで示した SplashActivity から MainActivity に移動する 2 つの方法を使用しています。
私は何度も非常に注意深くテストしましたが、まだこの問題を知りません

public class SplashActivity extends Activity {
    ...
    protected void onCreate(Bundle savedInstanceState) {
        ...
        changeDefaultLanguageConfigLanguage("vi");
        moveToMain();
        ...
    }
    private void changeDefaultLanguageConfigLanguage(String language) {
        Configuration config = new Configuration();
        Locale locale = new Locale(language);
        Locale.setDefault(locale);
        config.locale = locale;

        getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
    }

    public void moveToMain() {

        /*
           Way 1: The language in MainActivity change
        */  
        Intent mainIntent = new Intent(SplashActivity.this, MainActivity.class);
        context.startActivity(mainIntent);

        /*
           Way 2: The language in MainActivity don't change
        */ 

        new Handler().postDelayed(new Runnable() {@
            Override
            public void run() {


                Intent mainIntent = new Intent(SplashActivity.this, MainActivity.class);
                startActivity(mainIntent);

                //finish();

                //overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
            }
        }, 3000);
    }
}

AndroidManifest.xml

         <activity
            android:name=".SplashActivity"
            android:label="@string/title_activity_splash"
            android:configChanges="orientation|keyboardHidden" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".MainActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:label="@string/title_activity_main" >
        </activity>
4

1 に答える 1