public class LoginActivity extends AppCompatActivity { private ActivityLoginBinding binding; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getSupportActionBar().setTitle(R.string.title_activity_login); binding = ActivityLoginBinding.inflate(getLayoutInflater()); setContentView(binding.getRoot()); loadLocale(); binding.btnChangeLanguage.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { changeLanguage(); } }); } private void changeLanguage() { final String languages [] = {"عربي", "বাংলা", "English", "हिंदी", "اردو"}; AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(R.string.choose_language); builder.setSingleChoiceItems(languages, -1, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { if (which==0) { setLocale("ar"); recreate(); } else if (which==1) { setLocale("bn"); recreate(); } else if (which==2) { setLocale(""); recreate(); } else if (which==3) { setLocale("hi"); recreate(); } else if (which==4) { setLocale("ur"); recreate(); } } }); builder.create(); builder.show(); } private void setLocale(String language) { Locale locale = new Locale(language); Locale.setDefault(locale); Configuration configuration = new Configuration(); configuration.locale = locale; getBaseContext().getResources().updateConfiguration(configuration, getBaseContext().getResources() .getDisplayMetrics()); SharedPreferences.Editor editor = getSharedPreferences("Settings", MODE_PRIVATE).edit(); editor.putString("appLanguage", language); editor.apply(); Toast.makeText(this, "Language Changed", Toast.LENGTH_SHORT).show(); } private void loadLocale() { SharedPreferences preferences = getSharedPreferences("Settings", MODE_PRIVATE); String language = preferences.getString("appLanguage", ""); setLocale(language); } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)