2015-05-14 4 views
5

Posso usare LocationListener con LocationManager in frammento. In realtà quando lo uso, mi dà errore in questa riga lm.requestLocationUpdates (LocationManager.GPS_PROVIDER, 0,0, (android.location.LocationListener) this); e quando non getta il 4 ° parametro per android.location.LocationListener mi dà errore ..LocationListener in frammento

import android.content.Context; 
import android.location.Location; 
import android.location.LocationManager; 
import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.TextView; 


public class Speedometer extends Fragment implements LocationListener { 

    TextView txt; 
    public Speedometer(){} 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { 

     View rootView = inflater.inflate(R.layout.speedometer, container, false); 

     txt=(TextView)rootView.findViewById(R.id.speedometer); 

     LocationManager lm= (LocationManager)getActivity().getSystemService(Context.LOCATION_SERVICE); 
     lm.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0, (android.location.LocationListener) this); 

     return rootView; 
    } 

    @Override 
    public void onLocationChanged(Location location) { 

     if(location==null){ 
      txt.setText("-.- m/s"); 
     } 
     else { 
      float nCurrentSpeed=location.getSpeed(); 
      txt.setText(nCurrentSpeed+"m/s"); 
     } 
    } 
} 
+0

uso senza del cast lm.requestLocationUpdates '(LocationManager.GPS_PROVIDER, 0,0, this);' – Kushal

+0

senza getto mi dà errore – Bisma

risposta

12

Penso che tu abbia erroneamente implementato com.google.android.gms.location.LocationListener interfaccia che ha un solo 1 metodo astratto onLocationChanged

Si dovrebbe piuttosto attuare android.location.LocationListener che ha 4 metodi astratti

onLocationChanged(Location location),

onProviderDisabled(String provider),

onProviderEnabled(String provider),

onStatusChanged(String provider, int status, Bundle extras)

+0

Grazie mille, l'ho usato e il mio errore viene rimosso – Bisma

+0

Cool! È un po 'di confusione capire quando usare l'uno o l'altro ... – Supercelo