Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener -


this question has answer here:

enter image description herewhen open android application crashes. here code:

import android.manifest;  import android.content.intent;  import android.content.pm.packagemanager;  import android.location.location;  import android.location.locationlistener;  import android.location.locationmanager;  import android.os.build;  import android.provider.settings;  import android.support.v4.app.activitycompat;  import android.support.v7.app.appcompatactivity;  import android.os.bundle;  import android.view.view;  import android.widget.button;  import android.widget.textview;      public class mainactivity extends appcompatactivity {        private button requestbutton;      private textview coordinatetext;      private locationmanager locationmanager;      private locationlistener locationlistener;      private button buttonmap;      private button buttoncurrentlocation;          @override      protected void oncreate(bundle savedinstancestate) {          super.oncreate(savedinstancestate);          setcontentview(r.layout.activity_main);            //reference requestbutton          requestbutton = (button) findviewbyid(r.id.requestbutton);          //reference coordtext          coordinatetext = (textview) findviewbyid(r.id.coordinatetext);            // creating button object buttonmap           buttonmap = (button) findviewbyid(r.id.buttonmap);            //create button object buttoncurrentlocation           buttoncurrentlocation = (button) findviewbyid(r.id.buttoncurrentlocation);            //action listener buttonmap          buttonmap.setonclicklistener(new view.onclicklistener() {              @override              public void onclick(view v) {                  intent intent1 = new intent(getapplicationcontext(), mapsactivity.class);                  startactivity(intent1);              }            });            // action listener buttoncurrentlocation          buttoncurrentlocation.setonclicklistener(new view.onclicklistener() {              public void onclick(view v) {                    intent = new intent(getapplicationcontext(), gpsshow.class);                  startactivity(i);                    }            });              //initialize locationmanager          locationmanager = (locationmanager) getsystemservice(location_service);          //initialize locationlistener          locationlistener = new locationlistener() {              @override              public void onlocationchanged(location location) {                  coordinatetext.append("\n" + location.getlatitude() + " " + location.getlongitude());                }                @override              public void onstatuschanged(string provider, int status, bundle extras) {                }                @override              public void onproviderenabled(string provider) {                }                @override              public void onproviderdisabled(string provider) {                  intent intent2 = new intent(settings.action_location_source_settings);                  startactivity(intent2);                }          };          if (activitycompat.checkselfpermission(this, manifest.permission.access_fine_location) != packagemanager.permission_granted && activitycompat.checkselfpermission(this, manifest.permission.access_coarse_location) != packagemanager.permission_granted) {              if (build.version.sdk_int >= build.version_codes.m) {                  requestpermissions(new string[]{                          manifest.permission.access_fine_location, manifest.permission.access_coarse_location, manifest.permission.internet                    }, 10);              }              return;          } else {              configurebutton();          }          }        //outside oncreate method          public void onrequestpermissionresult(int requestcode, string[] permissions, int[] grantresults) {            switch (requestcode) {              case 10:                  if (grantresults.length > 0 && grantresults[0] == packagemanager.permission_granted)                      configurebutton();                  return;          }        }        private void configurebutton() {          requestbutton.setonclicklistener(new view.onclicklistener() {              public void onclick(view view) {                  locationmanager.requestlocationupdates("gps", 5000, 0, locationlistener);                }          });        }      }

here logcat:

01-15 17:10:18.088 2340-2340/com.example.matt.palt e/androidruntime: fatal exception: main                                                                       process: com.example.matt.palt, pid: 2340                                                                       java.lang.runtimeexception: unable start activity componentinfo{com.example.matt.palt/com.example.matt.palt.mainactivity}: java.lang.nullpointerexception: attempt invoke virtual method 'void android.widget.button.setonclicklistener(android.view.view$onclicklistener)' on null object reference                                                                           @ android.app.activitythread.performlaunchactivity(activitythread.java:2416)                                                                           @ android.app.activitythread.handlelaunchactivity(activitythread.java:2476)                                                                           @ android.app.activitythread.-wrap11(activitythread.java)                                                                           @ android.app.activitythread$h.handlemessage(activitythread.java:1344)                                                                           @ android.os.handler.dispatchmessage(handler.java:102)                                                                           @ 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)                                                                        caused by: java.lang.nullpointerexception: attempt invoke virtual method 'void android.widget.button.setonclicklistener(android.view.view$onclicklistener)' on null object reference                                                                           @ com.example.matt.palt.mainactivity.configurebutton(mainactivity.java:124)                                                                           @ com.example.matt.palt.mainactivity.oncreate(mainactivity.java:103)                                                                           @ android.app.activity.performcreate(activity.java:6237)                                                                           @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1107)                                                                           @ android.app.activitythread.performlaunchactivity(activitythread.java:2369)                                                                           @ android.app.activitythread.handlelaunchactivity(activitythread.java:2476)                                                                            @ android.app.activitythread.-wrap11(activitythread.java)                                                                            @ android.app.activitythread$h.handlemessage(activitythread.java:1344)                                                                            @ android.os.handler.dispatchmessage(handler.java:102)                                                                            @ 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)   01-15 17:10:20.435 2340-2340/com.example.matt.palt i/process: sending signal. pid: 2340 sig: 9

the first time ran application running fine.

it seems problem requestbutton. have tried looking further solution can't find one.

main xml file , other xml file

r.id.buttonmap not found, resulting in null findviewbyid(r.id.buttonmap).

the id buttonmap should in activity_main xml file. not.


Comments

Popular posts from this blog

get url and add instance to a model with prefilled foreign key :django admin -

css - Make div keyboard-scrollable in jQuery Mobile? -

ruby on rails - Seeing duplicate requests handled with Unicorn -