大家!我尝试保存 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);
}
}