studio stable english emulator descargar android android-layout android-emulator android-widget android-ndk

stable - android studio english



¿Cómo guardar el estado de la función on/off de toogleButton? (3)

Hola, he implementado la aplicación en función de la selección de toggleButton. pero mientras cierro esa aplicación y luego la vuelvo a abrir, entrará en su selección predeterminada que está "desactivada". Entonces, ¿puede cualquier amigo decirme qué debería tener para guardar el estado de la selección de toogleButton y realizar alguna acción en función de ese estado de selección de toggleButton. . . Gracias.


Use SharedPreferences como lo sugirió erdomester, pero modifiqué un poco su código. Hay algunas condiciones innecesarias.

tg = (ToggleButton) findViewById(R.id.toggleButton1); tg.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { SharedPreferences.Editor editor = preferences.edit(); editor.putBoolean("tgpref", tg.isChecked()); // value to store editor.commit(); } });

Y esta es la forma de recuperar los valores:

SharedPreferences preferences = getPreferences(MODE_PRIVATE); boolean tgpref = preferences.getBoolean("tgpref", true); //default is true tg.setChecked(tgpref);


Use SharedPreferences.

tg = (ToggleButton) findViewById(R.id.toggleButton1); tg.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if((tg.isChecked())) { SharedPreferences.Editor editor = preferences.edit(); editor.putBoolean("tgpref", true); // value to store editor.commit(); } else { SharedPreferences.Editor editor = preferences.edit(); editor.putBoolean("tgpref", false); // value to store editor.commit(); } } });

Y esta es la forma de recuperar los valores:

SharedPreferences preferences = getPreferences(MODE_PRIVATE); boolean tgpref = preferences.getBoolean("tgpref", true); //default is true if (tgpref = true) //if (tgpref) may be enough, not sure { tg.setChecked(true); } else { tg.setChecked(false); }

No verifiqué este código, pero mira algunos ejemplos en la red, ¡es fácil!


La mejor manera, puede establecer tgbutton mismo

pantalla principal

Intent intent = new Intent(this, Something.class); intent.putExtra(BOOLEAN_VALUE, Boolean.valueOf((tvConfigBoolean.getText().toString()))); startActivity(intent);

pantalla algo

Bundle bundle = getIntent().getExtras(); tbtConfigBoolean.setChecked((bundle .getBoolean(MainActivity.BOOLEAN_VALUE)));

y guardar el estado

editor.putBoolean("BooleanKey", tbtConfigBoolean.isChecked()); editor.commit();

buena suerte