Androidアプリケーション内切り替えアプリケーション言語

907 ワード

このメソッドを呼び出すと、設定されたAndroidシステム言語に基づいてres下のstringファイルを選択するのではなく、アプリケーション内で設定された言語に基づいて
/**
     *        :en、ch
     *
     * @param lang
     */
    public void changeLang(String lang) {
        if (TextUtils.isEmpty(lang))
            return;
        Locale myLocale = new Locale(lang);
        Locale.setDefault(myLocale);
        android.content.res.Configuration config = new android.content.res.Configuration();
        config.locale = myLocale;
        getResources().updateConfiguration(config,
                getBaseContext().getResources().getDisplayMetrics());
    }