Reputation: 4343
I have an Activity that doesn't have to be displayed anymore if a "Don't show anymore" CheckBox is checked but I can't figure out how to make it work.
This is what I have tried up until now:
public class PopUpInfoActivity extends Activity {
static final String PREFS = "preference_file";
@Override
public void onCreate(Bundle state){
super.onCreate(state);
setContentView(R.layout.popupinfo_layout);
CheckBox chk = (CheckBox) findViewById(R.id.dontshow_checkbox);
chk.setChecked(PreferenceManager.getDefaultSharedPreferences(this).getBoolean("value", false));
chk.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
//store isChecked to Preferences
SharedPreferences settings = getSharedPreferences(PREFS,0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("isChecked", false);
PreferenceManager.getDefaultSharedPreferences(PopUpInfoActivity.this).edit().putBoolean("value", isChecked).apply();
}
});
}
This code still doesn't work because if I check the CheckBox and kill and restart the app, the activity still appears how can I make it work?
I would really appreciate any help!
Upvotes: 0
Views: 158
Reputation: 9056
Use this for setting checkBox value
chk.setChecked(PreferenceManager.getDefaultSharedPreferences(this).getBoolean("value", false));
use this for getting checkBox value.
chk.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
//store isChecked value in shareprefernce
PreferenceManager.getDefaultSharedPreferences(PopUpInfoActivity.this).edit().putBoolean("value", isChecked).commit();
}
}
);
enjoy coding.
Upvotes: 3
Reputation: 48258
you need to work with the preferences properly...
SharedPreferences spref = getSharedPreferences("your_prefs_name", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = spref.edit();
editor.putBoolean ("myChechButtonWasChecked", prefVal); //
editor.commit();
SharedPreferences preferences = getPreferences(Activity.MODE_PRIVATE);
bool storedPreference = preferences.getBoolean("myChechButtonWasChecked", false);
Upvotes: 0