みんな!ToggleButton の状態を保存しようとしています。実際、ユーザーがアプリケーションを再起動した後、またはこのアクティビティに戻った後、同じ状態にしたいと考えています。
しかし、たとえば、前のアクティビティに戻ってから、ToggleButton があるアクティビティに再度戻ると、ToggleButton のステータスが登録されていないことがわかります。誰かが私を助けることができますか?
ご覧のとおり、setDefaults を使用して ToggleButton の状態を保存し、getDefaults を使用して回復します。
public class OnOff extends Activity {
ToggleButton toggle1;
ToggleButton toggle2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.on_off);
// Show the Up button in the action bar.
setupActionBar();
toggle1 = (ToggleButton) findViewById(R.id.ontoggle1);
toggle1.setChecked(getDefaults("etatToggle",this));
setDefaults("etatToggle", toggle1.isChecked(), this);
}
//Fonction appelée pour enregistrer en mémoire, ici en l'occurence l'état du ToggleButton: true ou false
public static void setDefaults(String key, Boolean value, Context context)
{
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean(key, value);
editor.commit();
}
//Fonction appelée pour récupérer ce qui a été saisi en mémoire
public static Boolean getDefaults(String key, Context context)
{
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
return preferences.getBoolean(key, true);
}
}