Attualmente sto sviluppando un'applicazione con un menu e una delle opzioni del menu è "Impostazioni" in cui l'utente può decidere in sostanza di disattivare i suoni e altre cose del genere. Al momento ho due opzioni nell'attività Impostazioni. Ecco il codice java per l'attività Impostazioni finora:Modifica stato di commutazione Android
import android.support.v7.app.ActionBarActivity;
public class Options extends ActionBarActivity {
private Switch ding;
private Switch countdown;
public boolean isDingChecked;
public boolean isCountdownChecked;
public static final String PREFS = "examplePrefs";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_options);
ding = (Switch) findViewById(R.id.switch1);
ding.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
SharedPreferences examplePrefs = getSharedPreferences(PREFS,0);
Editor editor = examplePrefs.edit();
editor.putBoolean("userMessage", isChecked);
editor.commit();
//System.out.println(examplePrefs.getBoolean("userMessage", isChecked));
isDingChecked = examplePrefs.getBoolean("userMessage", isChecked);
System.out.println(isDingChecked + " is ding checked");
ding.setChecked(isDingChecked);
}
});
countdown = (Switch) findViewById(R.id.switch2);
countdown.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// do something, the isChecked will be
// true if the switch is in the On position
isCountdownChecked = isChecked;
}
});
}
}
sono in grado di utilizzare i valori booleani nelle mie altre attività, in modo che lo SharedPreference funziona bene. Tuttavia, quando torno alla mia attività di menu e torno a questa attività delle opzioni, lo stato degli switch ritorna ai valori predefiniti di essere vero, indipendentemente da ciò che afferma l'utente. C'è comunque che posso risolvere questo?
ding.setChecked(isDingChecked)
Non sto proprio facendo nulla, immagino. So di aver postato una domanda simile a questa in passato, è solo che uno non ha avuto molta attività e ho lavorato su questo problema per un po 'di tempo. Grazie!
capito grazie !! – user2677095