final Context context = this; Button btnquestion, btnchangepass, btnprofile, btnlanguage; private int mTheme = -1; private static final int NATIVE_THEME = Integer.MIN_VALUE; private Spinner spinner1; SharedPreferences preferences; private static final String PREFRENCES_NAME = "myprefrences"; private static final String POSITION = "position"; private static final String Locale_KeyValue = "Saved Locale"; private static SharedPreferences.Editor editor; SessionManager manager; String customerID, language, languageToLoad; String[] items = {"English", "French", "Mandarin", "Spanish", "Indonesaian", "Japanese"}; String selectedItem = null; private static final String UPDATECUSTOMERLANGUAGE = "https://customer.test.lightstormglobal.com/Usana/api/Commission/UpdateCustomerLanguage"; private static Locale myLocale; @Overrideprotected void onResume() { super.onResume(); loadLocale(); } @Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_setting); manager = new SessionManager(); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowHomeEnabled(true); btnquestion = (Button) findViewById(R.id.btnquestion); btnchangepass = (Button) findViewById(R.id.btnchangepass); btnprofile = (Button) findViewById(R.id.btnprofile); btnlanguage = (Button) findViewById(R.id.btnlanguage); preferences = getSharedPreferences(PREFRENCES_NAME, Context.MODE_PRIVATE); editor = preferences.edit(); btnlanguage.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { showAlertDialog(SettingActivity.this); } }); } private void restartActivity() { Intent intent = getIntent(); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); finish(); startActivity(intent); } private void showAlertDialog(Context cont) { AlertDialog.Builder dialog = new AlertDialog.Builder(cont); dialog.setTitle("Select Language"); dialog.setCancelable(false); dialog.setSingleChoiceItems(items, preferences.getInt(POSITION, 0), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { editor.putInt(POSITION, which).commit(); selectedItem = items[which]; String lang = "en"; saveLocale(lang); switch (which) { case 0: lang = "en"; saveLocale(lang); break; case 1: lang = "fr"; break; case 2: lang = "zh"; break; case 3: lang = "es"; break; case 4: lang = "in"; break; case 5: lang = "ja"; } changeLocale(lang); } }); dialog.setPositiveButton("Submit", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { updatelanguage(); // Toast.makeText(getApplicationContext(), "Customer language updated successfully", Toast.LENGTH_SHORT).show(); } }); dialog.show(); } public void changeLocale(String lang) { if (lang.equalsIgnoreCase("")) return; myLocale = new Locale(lang); saveLocale(lang); Locale.setDefault(myLocale); Configuration config = new Configuration(); config.locale = myLocale; getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics()); } public void saveLocale(String lang) { editor.putString(Locale_KeyValue, lang); editor.commit(); } public void loadLocale() { String language = preferences.getString(Locale_KeyValue, ""); changeLocale(language); } public boolean onOptionsItemSelected(MenuItem item) { // handle arrow click here if (item.getItemId() == android.R.id.home) { finish(); // close this activity and return to preview activity (if there is any) } return super.onOptionsItemSelected(item); }
<Button android:id="@+id/btnlanguage" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="1dp" android:background="@color/colorbackground" android:drawableLeft="@drawable/languageselect" android:drawablePadding="8dp" android:drawableRight="@drawable/arroright" android:gravity="left|center_vertical" android:paddingLeft="10dip" android:textAllCaps="false" android:text="@string/sl" android:textColor="@color/colortext" android:textSize="@dimen/textsize" />
No comments:
Post a Comment