У меня серьезная проблема с настройкой Locale через AlertDialog, так как кажется, что когда я нажимаю кнопку, она «теряет» мою опцию. Переменные languages - это String Array, который содержит языки приложения и инициализируется как:
languages = getResources().getStringArray(R.array.languages);
private void showChangeLanguageDialog(){
AlertDialog.Builder mBuilder = new AlertDialog.Builder(MainActivity.this);
mBuilder.setTitle(getResources().getString(R.string.choose));
mBuilder.setSingleChoiceItems(languages, -1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if(languages[which].equals(getResources().getString(R.string.cancel))){
dialog.dismiss();
}else{
switch (which){
case 1:
setAppLocale("en");
break;
case 2:
setAppLocale("gr");
break;
}
recreate();
dialog.dismiss();
}
}
});
AlertDialog mDialog = mBuilder.create();
mDialog.show();
}
Есть ли у кого-нибудь догадки о том, что происходит и как я должен преодолеть проблему? ? Заранее спасибо