android - Text from EditText not saving in Shared Preferences -


i have edittext , want save text in edittext string in shared preferences if string not empty or null. app crashing following code:

activity.java:

button buttonnext = (button) findviewbyid(r.id.buttonnext);     assert buttonnext != null;     buttonnext.setonclicklistener(new onclicklistener() {         @override         public void onclick(view view) {             if (checkforguardiannames()) {                 log.i("guardian names: ", "check passed");                 log.i("activityedittext", inputguardian1.gettext().tostring());                 toast toast = toast.maketext(userinfoactivity.this, inputguardian1.gettext().tostring(), toast.length_long);                 toast.show();                 saveguardiannames();                  } else {                     prompttofillfield("guardian");                     log.i("guardian names: ", "check failed"); //                    toast toast = toast.maketext(userinfoactivity.this, "works part 2 "+ inputguardian1.gettext().tostring(), toast.length_long); //                    toast.show();                 }             } 

now know checkforguardiannames() passes app crashes on calling saveguardiannames() method.

my saveguardiannames() :

private void saveguardiannames(){     string guardian1 = inputguardian1.gettext().tostring();     string guardian2 = inputguardian2.gettext().tostring();     string guardian3 = inputguardian3.gettext().tostring();     string guardian4 = inputguardian4.gettext().tostring();     log.i("value: ", "dummy");     log.i("saveguardiannames", "called");           if (!inputguardian1.gettext().tostring().matches("")){             log.i("putting text", "in sp");             sharedpreferences.edit().putstring("guardian 1", guardian1).apply();             log.i("putting text", "passed");         } } 

now see saveguardiannames: check passed in logcat method called line above isn't (log.i("value: ", "dummy");) , there isn't mention of in logcat. also, understand, if statement never called or crashes before log.i("putting text", "in sp"); executed.

my error logcat:

08-24 01:40:43.712 1497-1497/com.bluefirelabs.apptiva i/guardian names:: check passed 08-24 01:40:43.732 1497-1497/com.bluefirelabs.apptiva i/saveguardiannames: called 08-24 01:40:43.732 1497-1497/com.bluefirelabs.apptiva e/androidruntime: fatal exception: main                                                                         process: com.bluefirelabs.apptiva, pid: 1497                                                                         java.lang.nullpointerexception: attempt invoke interface method 'android.content.sharedpreferences$editor android.content.sharedpreferences.edit()' on null object reference                                                                             @ com.bluefirelabs.apptiva.userinfoactivity$override.saveguardiannames(userinfoactivity.java:374)                                                                             @ com.bluefirelabs.apptiva.userinfoactivity$override.static$access$200(userinfoactivity.java:27)                                                                             @ com.bluefirelabs.apptiva.userinfoactivity$override.access$dispatch(userinfoactivity.java)                                                                             @ com.bluefirelabs.apptiva.userinfoactivity.access$200(userinfoactivity.java:0)                                                                             @ com.bluefirelabs.apptiva.userinfoactivity$1$override.onclick(userinfoactivity.java:112)                                                                             @ com.bluefirelabs.apptiva.userinfoactivity$1$override.access$dispatch(userinfoactivity.java)                                                                             @ com.bluefirelabs.apptiva.userinfoactivity$1.onclick(userinfoactivity.java:0)                                                                             @ android.view.view.performclick(view.java:5702)                                                                             @ android.widget.textview.performclick(textview.java:10885)                                                                             @ android.view.view$performclick.run(view.java:22533)                                                                             @ android.os.handler.handlecallback(handler.java:739)                                                                             @ android.os.handler.dispatchmessage(handler.java:95)                                                                             @ android.os.looper.loop(looper.java:158)                                                                             @ android.app.activitythread.main(activitythread.java:7229)                                                                             @ java.lang.reflect.method.invoke(native method)                                                                             @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:1230)                                                                             @ com.android.internal.os.zygoteinit.main(zygoteinit.java:1120) 

i bit perplexed why lines being executed while 1 before isn't , why app crashing before saving shared preferences. appreciated.

if (!inputguardian1.gettext().tostring().matches("")){             log.i("putting text", "in sp");           if(sharedpreferences != null){             sharedpreferences.edit().putstring("guardian 1", guardian1).apply();             log.i("putting text", "passed");            }else{             sharedpreferences = mcontext.getsharedpreferences(pref_name, private_mode);             sharedpreferences.edit().putstring("guardian 1", guardian1).apply();            }         } 

Comments

Popular posts from this blog

mysql - Dreamhost PyCharm Django Python 3 Launching a Site -

java - Sending SMS with SMSLib and Web Services -

java - How to resolve The method toString() in the type Object is not applicable for the arguments (InputStream) -