java - Can't get Location Manager to work inside Fragment -


i've been trying location manager work few hours inside fragment. found stackoverflow question similar problem, , tried implement solution. answer located here: https://stackoverflow.com/a/18533440/3035598

so literally copied answer said, not working me. when map opens error "google play services missing". caused nullpointerexception can read in answer.

i have no idea why not working, since did said.

does know what's going wrong?

if have provide code, let me know , that, same in link provided.


edit:

the code use:

package com.example.bt6_aedapp;  import android.location.location; import android.os.bundle; import android.support.v4.app.fragment; import android.util.log; import android.view.inflateexception; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.imageview; import android.widget.toast;  import com.google.android.gms.common.connectionresult; import com.google.android.gms.common.googleplayservicesclient; import com.google.android.gms.location.locationclient; import com.google.android.gms.location.locationlistener; import com.google.android.gms.location.locationrequest; import com.google.android.gms.maps.cameraupdate; import com.google.android.gms.maps.cameraupdatefactory; import com.google.android.gms.maps.googlemap; import com.google.android.gms.maps.mapfragment; import com.google.android.gms.maps.mapsinitializer; import com.google.android.gms.maps.model.latlng;  public class fragmentb extends fragment implements googleplayservicesclient.connectioncallbacks, googleplayservicesclient.onconnectionfailedlistener, locationlistener {      private googlemap map;     private latlng latlng;      private locationrequest lr;     private locationclient lc;      mapfragment mapfragment;     imageview iv;      private static view view;      @override     public view oncreateview(layoutinflater inflater, viewgroup container,              bundle savedinstancestate) {         if(view != null) {             viewgroup parent = (viewgroup) view.getparent();             if(parent != null) {                 parent.removeview(view);             }         }          try {             view = inflater.inflate(r.layout.fragment_b, container, false);               mapfragment = ((mapfragment) this.getactivity().getfragmentmanager().findfragmentbyid(r.id.map));             iv = (imageview) view.findviewbyid(r.id.iv);              map = mapfragment.getmap();             map.getuisettings().setallgesturesenabled(false);             map.getuisettings().setmylocationbuttonenabled(false);             map.setmylocationenabled(true);             map.getuisettings().setzoomcontrolsenabled(false);              mapsinitializer.initialize(this.getactivity());         }          catch (inflateexception e) {             toast.maketext(getactivity(), "problems inflating view !", toast.length_long).show();         }          catch (nullpointerexception e) {             toast.maketext(getactivity(), "google play services missing !", toast.length_long).show();         }          return view;     }      @override     public void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         lr = locationrequest.create();         lr.setpriority(locationrequest.priority_high_accuracy);         lc = new locationclient(this.getactivity().getapplicationcontext(),                 this, this);         lc.connect();     }      @override     public void onlocationchanged(location location) {               latlng = new latlng(location.getlatitude(), location.getlongitude());         cameraupdate cameraupdate = cameraupdatefactory.newlatlngzoom(latlng, 10);         map.animatecamera(cameraupdate);     }       @override      public void onconnectionfailed(connectionresult arg0) {       }       @override      public void onconnected(bundle connectionhint) {          lc.requestlocationupdates(lr, this);       }       @override      public void ondisconnected() {       }   } 

the error i'm getting located @ row 115: java.lang.nullpointerexception @ com.example.bt6_aedapp.fragmentb.onlocationchanged(fragmentb.java:155)

i checked location.getlatitude() , location.getlongitude() , both of them not empty, return correct value.

alright, after lot of debugging , research, i've found solution.

all had replace

`mapfragment = ((mapfragment) this.getactivity().getfragmentmanager().findfragmentbyid(r.id.map));` 

with:

mapfragment = ((supportmapfragment)getfragmentmanager().findfragmentbyid(r.id.map));


Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -