Dlaczego moja metoda SharedPreference nie działa? Gdy przycisk ma status setEnable "true", chcę, aby to zostało zapisane gdy wyjdę z aplikacji, ale niestety tak się nie dzieje. Po zamknięciu i ponownym uruchomieniu mojej aplikacji, przycisk ma ponownie status setEnable "false" :( Byłbym wdzięczny za rozwiązanie tego problemu.
Activity z dwoma przyciskami. "button2" jest domyślnie ustawiony jako nieaktywny, kiedy użyję metody intent.putExtra("isEnabled", "enabled") w innej klasie z której przechodzę do tej klasy przycisk zmienia status na aktywny.
public class Activity2 extends AppCompatActivity implements View.OnClickListener{
Button button1;
Button button2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_2);
button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(this);
button2 = (Button) findViewById(R.id.button2);
button2.setOnClickListener(this);
button2.setEnabled(getSharedPreferences("MY_PREF", MODE_PRIVATE).getBoolean("isEnabled",false));
}
@Override
public void onClick(final View v) {
final MediaPlayer mp = MediaPlayer.create(this, R.raw.menu);
if (v == button1) {
startActivity(new Intent(Activity2.this, category1.class));
mp.start();
}
if (v== button2){
Intent intent=getIntent();
String isEnabled = intent.getStringExtra("isEnabled");
if(isEnabled==null||isEnabled.equals("disabled")){
button2.setEnabled(false);
}
else{
button2.setEnabled(true);
getSharedPreferences("MY_PREF", MODE_PRIVATE).edit().putBoolean("isEnabled",true).apply();
startActivity(new Intent(this, category2.class));
}
}
}
}