Делаю приложение и надо чтобы в настройках можно было убрать звук, делаю сохранение данных через sharedPreferences, но switch не сохраняет положение(checked, nonchecked) и звук всё равно идёт. Вот код из SettingsActivity в методе onCreate() :
cb_sound_settings = findViewById(R.id.cb_settings_sounds);
if (cb_sound_settings.isChecked()) {
sharedPreferences = getSharedPreferences("MyPref", MODE_PRIVATE);
editor = sharedPreferences.edit();
editor.putBoolean("Sounds", true);
editor.apply();
} else {
sharedPreferences = getSharedPreferences("MyPref", MODE_PRIVATE);
editor = sharedPreferences.edit();
editor.putBoolean("Sounds", false);
editor.apply();
}
sharedPreferences = getSharedPreferences("MyPref", MODE_PRIVATE);
if (sharedPreferences.getBoolean("Sounds", true)) {
cb_sound_settings.setChecked(true);
} else {
cb_sound_settings.setChecked(false);
}
Xml код из layout_settings.xml:
<Switch
android:id="@+id/cb_settings_sounds"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:background="@color/colorGray"
android:checked="true"
android:padding="15dp"
android:text="@string/settings_sounds"
android:textColor="@color/colorBlack"
android:textSize="18sp" />
И код из MainActivity, где должен был быть запрет на звук:
public void showSuccessfulToastVerb () {
Toast.makeText(MainActivity.this, "It's not a irregular verb", Toast.LENGTH_SHORT).show();
successfulSound = MediaPlayer.create(this, R.raw.successful);
sharedPreferences = getSharedPreferences("MyPref", MODE_PRIVATE);
if (sharedPreferences.getBoolean("Sounds", true)) {
successfulSound.start();
}
}
Помогите пж, таже фигня была когда пытался запретить анимацию (