android - Location manager NULL FC -


i have fragment uses location manager , failing error:

03-10 17:40:59.875    3909-3909/com.beerportfolio.beerportfoliopro e/androidruntime﹕ fatal exception: main     java.lang.nullpointerexception             @ com.beerportfolio.beerportfoliopro.findbrewery.<init>(findbrewery.java:25)             @ java.lang.class.newinstanceimpl(native method)             @ java.lang.class.newinstance(class.java:1130)             @ android.support.v4.app.fragment.instantiate(fragment.java:402)             @ android.support.v4.app.fragment.instantiate(fragment.java:377)             @ com.beerportfolio.beerportfoliopro.maindrawer2.displaynavfragment(maindrawer2.java:172)             @ com.beerportfolio.beerportfoliopro.maindrawer2.access$000(maindrawer2.java:28)             @ com.beerportfolio.beerportfoliopro.maindrawer2$1.onitemclick(maindrawer2.java:71)             @ android.widget.adapterview.performitemclick(adapterview.java:298)             @ android.widget.abslistview.performitemclick(abslistview.java:1237)             @ android.widget.listview.performitemclick(listview.java:4555)             @ android.widget.abslistview$performclick.run(abslistview.java:3037)             @ android.widget.abslistview$1.run(abslistview.java:3724)             @ android.os.handler.handlecallback(handler.java:730)             @ android.os.handler.dispatchmessage(handler.java:92)             @ android.os.looper.loop(looper.java:158)             @ android.app.activitythread.main(activitythread.java:5789)             @ java.lang.reflect.method.invokenative(native method)             @ java.lang.reflect.method.invoke(method.java:525)             @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:1027)             @ com.android.internal.os.zygoteinit.main(zygoteinit.java:843)             @ dalvik.system.nativestart.main(native method) 

findbrewery line 25 this:

locationmanager locationmanager =(locationmanager)getactivity().getsystemservice(context.location_service); 

the whole code findbrewery is:

public class findbrewery extends fragment implements locationlistener {      private textview latitutefield;     private textview longitudefield;     locationmanager locationmanager =(locationmanager)getactivity().getsystemservice(context.location_service);     private string provider;     context c = getactivity().getapplicationcontext();        public void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);      }      public view oncreateview(layoutinflater inflater, viewgroup container,                              bundle savedinstancestate) {         //todo change view         view rootview = inflater.inflate(r.layout.beer_location_list,container, false);          // location manager         // define criteria how select locatioin provider -> use         // default         criteria criteria = new criteria();         provider = locationmanager.getbestprovider(criteria, false);         location location = locationmanager.getlastknownlocation(provider);          // initialize location fields         if (location != null) {             system.out.println("provider " + provider + " has been selected.");             onlocationchanged(location);         } else {          }           return rootview;     }         /* request updates @ startup */     @override     public void onresume() {         super.onresume();         locationmanager.requestlocationupdates(provider, 400, 1, this);     }      /* remove locationlistener updates when activity paused */     @override     public void onpause() {         super.onpause();         locationmanager.removeupdates(this);     }      @override     public void onlocationchanged(location location) {         int lat = (int) (location.getlatitude());         int lng = (int) (location.getlongitude());         //latitutefield.settext(string.valueof(lat));         //longitudefield.settext(string.valueof(lng));          //toast.maketext(this, "finding loaction",toast.length_short).show();          //call asycn task location         string url = "myurl";          log.d("urltest", url);          //async task goes here         new getnearbybreweries(this.getactivity()).execute(url);        }      @override     public void onstatuschanged(string provider, int status, bundle extras) {         // todo auto-generated method stub      }      @override     public void onproviderenabled(string provider) {         //toast.maketext(this, "enabled new provider " + provider,toast.length_short).show();      }      @override     public void onproviderdisabled(string provider) {         //toast.maketext(this, "disabled provider " + provider,toast.length_short).show();     }    } 

getactivity() return null until fragment attached activity. should move code onattach():

@override public void onattach(activity activity) {     super.onattach(activity);     locationmanager =(locationmanager)activity.getsystemservice(context.location_service);  } 

Comments

Popular posts from this blog

php - SPIP: From Tag directly to an article -

jquery - isAjaxRequest always return false -

ruby on rails - In a controller spec, how to find a specific tag in the generated view? -