です。多言語アプリケーションを作成しています。私は言語の変更のための2つのオプションを与えました。言語の変更は機能していますが、ユーザーが終了するとアプリが終了します。デフォルト言語に戻ります。アプリの終了後にデフォルトに設定された言語は、アンドロイド
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.hn:
String languageToLoad = "hi";
Locale locale = new Locale(languageToLoad);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
this.setContentView(R.layout.activity_main);
Intent i = getBaseContext().getPackageManager()
.getLaunchIntentForPackage(getBaseContext().getPackageName());
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
break;
case R.id.eng:
languageToLoad = "en"; // your language
locale = new Locale(languageToLoad);
Locale.setDefault(locale);
config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
this.setContentView(R.layout.activity_main);
Intent in = getBaseContext().getPackageManager()
.getLaunchIntentForPackage(getBaseContext().getPackageName());
in.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(in);
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
。 – Eselfar