Advertisement
wtmhahagd

Untitled

Dec 7th, 2017
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.05 KB | None | 0 0
  1. package edu.wm.cs.amazebyjackandzeal;
  2.  
  3. import android.content.Intent;
  4. import android.support.v7.app.AppCompatActivity;
  5. import android.os.Bundle;
  6. import android.view.View;
  7. import android.widget.AdapterView;
  8. import android.widget.ArrayAdapter;
  9. import android.widget.Button;
  10. import android.widget.Spinner;
  11. import java.util.Locale;
  12. import android.os.Bundle;
  13. import android.app.Activity;
  14. import android.content.Intent;
  15. import android.content.res.Configuration;
  16. import android.content.res.Resources;
  17. import android.util.DisplayMetrics;
  18.  
  19. public class SettingsActivity extends AppCompatActivity {
  20.  
  21. Spinner languageSpinner;
  22. Button backButton;
  23.  
  24. /**
  25. * Load the view.
  26. * @param savedInstanceState
  27. */
  28. @Override
  29. protected void onCreate(Bundle savedInstanceState) {
  30. super.onCreate(savedInstanceState);
  31. setContentView(R.layout.activity_settings);
  32.  
  33. languageSpinner = findViewById(R.id.language_select_spinner);
  34. setUpSpinnerAdapter(languageSpinner, R.array.languages);
  35.  
  36. languageSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
  37. @Override
  38. public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
  39. String language = adapterView.getItemAtPosition(i).toString();
  40. if (language.equals("English")) {
  41. setLocale("en");
  42. } else if (language.equals("Deutsch")) {
  43. setLocale("de");
  44. } else if (language.equals("español")) {
  45. setLocale("es");
  46. } else if (language.equals("Polski")) {
  47. setLocale("pl");
  48. }
  49. }
  50.  
  51. @Override
  52. public void onNothingSelected(AdapterView<?> adapterView) {
  53.  
  54. }
  55. });
  56.  
  57. backButton = findViewById(R.id.back_button);
  58. final Intent backToStartIntent = new Intent(this, AMazeActivity.class);
  59. backButton.setOnClickListener(new View.OnClickListener() {
  60. @Override
  61. public void onClick(View view) {
  62. startActivity(backToStartIntent);
  63. }
  64. });
  65. }
  66.  
  67. /**
  68. * Private helper method to load a spinner with an array of strings.
  69. * @param spinner Spinner object.
  70. * @param stringsResource R id of a string array.
  71. */
  72. private void setUpSpinnerAdapter(Spinner spinner, int stringsResource) {
  73. ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, stringsResource, android.R.layout.simple_spinner_dropdown_item);
  74. adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  75. spinner.setAdapter(adapter);
  76. }
  77.  
  78. private void setLocale(String lang) {
  79. Locale myLocale = new Locale(lang);
  80. Resources res = getResources();
  81. DisplayMetrics dm = res.getDisplayMetrics();
  82. Configuration conf = res.getConfiguration();
  83. conf.locale = myLocale;
  84. res.updateConfiguration(conf, dm);
  85. }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement