LocationListener в фрагменте

Могу ли я использовать LocationListener с LocationManager в фрагменте. Фактически, когда я его использую, он дает мне ошибку в этой строке lm.requestLocationUpdates (LocationManager.GPS_PROVIDER, 0,0, (android.location.LocationListener) this); И когда я dnt передаю 4-й параметр в android.location.LocationListener, тогда я даю ошибку.

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"); } } } 

Я думаю, вы ошибочно реализовали интерфейс com.google.android.gms.location.LocationListener который имеет только один абстрактный метод onLocationChanged

Вы должны скорее реализовать android.location.LocationListener который имеет 4 абстрактных метода

onLocationChanged(Location location) ,

onProviderDisabled(String provider) ,

onProviderEnabled(String provider) ,

onStatusChanged(String provider, int status, Bundle extras)