Guest User

Untitled

a guest
Jan 23rd, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.62 KB | None | 0 0
  1. ((App)getApplicationContext()).changeLang(lang);
  2.  
  3. public class App extends Application {
  4.  
  5. private Locale locale = null;
  6.  
  7. @Override
  8. public void onConfigurationChanged(Configuration newConfig) {
  9. super.onConfigurationChanged(newConfig);
  10. if (locale != null) {
  11. Locale.setDefault(locale);
  12. Configuration config = new Configuration(newConfig);
  13. config.locale = locale;
  14. getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
  15. }
  16. }
  17.  
  18. @Override
  19. public void onCreate() {
  20. super.onCreate();
  21. SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
  22. String lang = settings.getString(getString(R.string.locale_lang), "");
  23. changeLang(lang);
  24. }
  25.  
  26. public void changeLang(String lang) {
  27. Configuration config = getBaseContext().getResources().getConfiguration();
  28. if (!"".equals(lang) && !config.locale.getLanguage().equals(lang)) {
  29.  
  30. Editor ed = PreferenceManager.getDefaultSharedPreferences(this).edit();
  31. ed.putString(getString(R.string.locale_lang), lang);
  32. ed.commit();
  33.  
  34. locale = new Locale(lang);
  35. Locale.setDefault(locale);
  36. Configuration conf = new Configuration(config);
  37. conf.locale = locale;
  38. getBaseContext().getResources().updateConfiguration(conf, getBaseContext().getResources().getDisplayMetrics());
  39. }
  40. }
  41.  
  42. public String getLang(){
  43. return PreferenceManager.getDefaultSharedPreferences(this).getString(this.getString(R.string.locale_lang), "");
  44. }
  45.  
  46.  
  47.  
  48. }
  49.  
  50. // ...
  51. View radio1 = findViewById(R.id.Et);
  52. radio1.setOnClickListener(this);
  53. View radio2 = findViewById(R.id.En);
  54. radio2.setOnClickListener(this);
  55. // ...`
  56.  
  57. // ...
  58. public void onClick(View v1) {
  59. switch (v1.getId()) {
  60.  
  61. case R.id.Et:
  62. languageToLoad = true;
  63. break;
  64.  
  65. case R.id.En:
  66. languageToLoad = false;
  67. break;
  68.  
  69. // ...`
  70.  
  71. //...
  72. public void onCreate(Bundle savedInstanceState) {
  73. super.onCreate(savedInstanceState);
  74.  
  75. if (YourSuperClass.languageToLoad) {
  76. setContentView(R.layout.youractivity); // estonian
  77. setTitle(R.string.youractivity_title);
  78. } else {
  79. setContentView(R.layout.youractivityen); // english
  80. setTitle(R.string.youractivity_title_en);
  81. }
  82.  
  83. Intent i = getIntent();
  84. //...`
Add Comment
Please, Sign In to add comment