android - how to update SharedPreference from other activity? -


i have created sharedpreference in login class , put in in method savedpreference()

login.java

public void savepreferences(string key, string value){     sharedpreferences sharedpreferences = preferencemanager.getdefaultsharedpreferences(getapplicationcontext());     sharedpreferences.editor editor = sharedpreferences.edit();      editor.putstring(key, value);     editor.commit();  } 

now in other activity, want update or put string calling method , adding these paramaters after clicking ok button.

menu.java

ok.setonclicklistener(new view.onclicklistener() {                 @override                 public void onclick(view v) {                     string oldpassword = oldpass.gettext().tostring();                     string newpassword = newpass.gettext().tostring();                     if (login.s.tostring().equals("1234")) {                         if (oldpassword.tostring().equals("1234")) {                             login.savepreferences("password",newpassword);                             toast.maketext(menu.this,"new password saved!",toast.length_short).show();                         }                         else {                             toast.maketext(menu.this,"old password not correct",toast.length_short).show();                         }                     }                     else {                         if (oldpassword.equals(login.realpass)){                             login.savepreferences("password",newpassword);                             toast.maketext(menu.this,"new password saved!",toast.length_short).show();                         }                         else{                             toast.maketext(menu.this,"old password not correct",toast.length_short).show();                         }                     }                  }             }); 

but after clicking ok, app crashes , logcat shows this

02-06 13:21:55.834 6327-6327/com.secsys.gagacamaso.gagacamaso e/androidruntime: fatal exception: main                                                                             process: com.secsys.gagacamaso.gagacamaso, pid: 6327                                                                             java.lang.nullpointerexception: attempt invoke virtual method 'android.content.context android.content.context.getapplicationcontext()' on null object reference                                                                                 @ android.content.contextwrapper.getapplicationcontext(contextwrapper.java:107)                                                                                 @ com.secsys.gagacamaso.gagacamaso.login.savepreferences(login.java:191)                                                                                 @ com.secsys.gagacamaso.gagacamaso.menu$3$1.onclick(menu.java:133)                                                                                 @ android.view.view.performclick(view.java:5198)                                                                                 @ android.view.view$performclick.run(view.java:21147)                                                                                 @ android.os.handler.handlecallback(handler.java:739)                                                                                 @ android.os.handler.dispatchmessage(handler.java:95)                                                                                 @ android.os.looper.loop(looper.java:148)                                                                                 @ android.app.activitythread.main(activitythread.java:5417)                                                                                 @ java.lang.reflect.method.invoke(native method)                                                                                 @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:726)                                                                                 @ com.android.internal.os.zygoteinit.main(zygoteinit.java:616) 

login.java:191 sharedpreferences sharedpreferences = preferencemanager.getdefaultsharedpreferences(getapplicationcontext());

and menu.java:133 login.savepreferences("password",newpassword);

better pass context argument in savepreferences

public void savepreferences(string key, string value,conext mcontext){   sharedpreferences sharedpreferences = preferencemanager.getdefaultsharedpreferences(mcontext);  ..... } 

Comments

Popular posts from this blog

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

python - GRASS parser() error -

Swift game error message -