17

Fragmentを拡張し、LocationListenerを実装するクラスがあります。私が書くとき

LocationManager myLocalManager =
(LocationManager)getSystemService(Context.LOCATION_SERVICE);

getSystemServiceメソッドがFragmentのメソッドではないため、コンパイル時エラーが発生します。

を作成するために何ができますLocationManagerか?

4

2 に答える 2

66

フラグメント内では、これを単に呼び出します。

LocationManager mgr = 
(LocationManager)getActivity().getSystemService(Context.LOCATION_SERVICE);

getSystemService()つまり、アクティビティを取得してそこから電話をかけるだけです。

編集: API 28以降 、このgetActivityメソッドは非推奨になっているため、次のものを使用できます。

LocationManager mgr = 
    (LocationManager)getContext().getSystemService(Context.LOCATION_SERVICE);
于 2012-11-09T10:28:41.067 に答える
0

このコードスニペットを試してみてください。

コード:

LocationManager locationManager = (LocationManager)
getContext().getSystemService(Context.LOCATION_SERVICE);
于 2017-02-01T10:39:16.220 に答える