Wednesday, 30 August 2017

Save Value In Spinner Shared Preference

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