java - Use SharedPreferences to display popup only once -


i have following code in onactivityforresult method after add contact using intent.

  if (mysharedprefs.getboolean("settingspopup", false) == false) { //first time              new alertdialog.builder(this)                     .settitle("go settings? ")                     .setmessage("popup")                     .setnegativebutton("no", null)                     .setpositivebutton("yes", new dialoginterface.onclicklistener() {                         public void onclick(dialoginterface dialog, int which) {                              intent settingsintent = new intent(mainactivity.this, settings.class);                             startactivity(settingsintent);                          }                     }).show();              myeditor = mysharedprefs.edit();             myeditor.putboolean("settingspopup", true);             myeditor.commit();          } 

i want popup show once, why set shared preference key value "settingspopup" true after first show dialog. reason though, dialog shows every time onactivityforresult method gets called. why show every time?

ps: using same shared preference object storing other values.

edit

i initialize shared prefs in oncreate so:

mysharedprefs = this.getsharedpreferences("sharedprefsname", mainactivity.mode_private); //making shared preferences

try putting code store boolean variable before alertdialog code:

if (mysharedprefs.getboolean("settingspopup", false) == false) { //first time             myeditor = mysharedprefs.edit();             myeditor.putboolean("settingspopup", true);             myeditor.commit();              new alertdialog.builder(this)                     .settitle("go settings? ")                     .setmessage("popup")                     .setnegativebutton("no", null)                     .setpositivebutton("yes", new dialoginterface.onclicklistener() {                         public void onclick(dialoginterface dialog, int which) {                              intent settingsintent = new intent(mainactivity.this, settings.class);                             startactivity(settingsintent);                          }                     }).show();           } 

Comments

Popular posts from this blog

routing - AngularJS State management ->load multiple states in one page -

python - GRASS parser() error -

Swift game error message -