Я использую кнопку переключателя в своем приложении для включения / выключения музыки. Я использую SharedPreferences, чтобы сохранить последнее состояние моей кнопки переключателя. Но когда я выхожу из своего приложения и запускаюсь снова, это дает мне состояние "выключено" по умолчанию все время. Я хочу сохранить состояние выбора пользователя все время, даже когда они закрывают и снова запускают приложение. Вот мой код `открытый класс SettingsView расширяет AppCompatActivity {
private Switch musicSwitch;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
musicSwitch = findViewById(R.id.sLLmusicSwitch);
SharedPreferences sharedPrefs = getSharedPreferences("save", MODE_PRIVATE);
musicSwitch.setChecked(sharedPrefs.getBoolean("value", true));
switchCheckListener();
}
private void switchCheckListener() {
musicSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (musicSwitch.isChecked()) {
// saving state of the switch button
SharedPreferences.Editor editor = getSharedPreferences("save", MODE_PRIVATE).edit();
editor.putBoolean("NameOfThingToSave", true);
editor.apply();
musicSwitch.setChecked(true);
// turn on music
Repository.getInstance().startMusic();
Toast.makeText(getApplicationContext(), "Music on", Toast.LENGTH_SHORT).show();
} else {
// saving state of the switch button
SharedPreferences.Editor editor = getSharedPreferences("save", MODE_PRIVATE).edit();
editor.putBoolean("NameOfThingToSave", false);
editor.apply();
musicSwitch.setChecked(false);
//turn off music
Repository.getInstance().pauseMusic();
Toast.makeText(getApplicationContext(), "Music off", Toast.LENGTH_SHORT).show();
}
}
});
}
}
`