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