无法覆盖Android应用程序中的onStatusChanged(LocationListener)

时间:2016-08-12 12:09:21

标签: java android android-studio location

出于某种原因,虽然我在我的Android应用程序中实现了LocationListener,但onStatusChanged给了我一个“方法不会覆盖其超类的方法”编译错误。

文档here指定LocationListener确实包含此方法。

此外,我还在我的应用程序中覆盖了onLocationChanged,但奇怪的是,这种覆盖不会产生编译错误。

我的代码如下(省略了不相关的部分):

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback, GoogleApiClient.ConnectionCallbacks, LocationListener, ErrorDialog.NoticeDialogListener, GoogleApiClient.OnConnectionFailedListener {

    (...)

    // No error here
    @Override
    public void onLocationChanged(Location location) {
        userLocation = location;
    }

    // Error occurs on this function, however
    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {

    }
    (...)
}

编辑:

我已经看了this这个问题,虽然我们的问题似乎是一样的,但我正在运行JDK 1.8(在我的项目结构中指定,并且大于JDK 1.6),所以我不知道不相信这是一个解决方案,但我运行Android Studio而不是Eclipse。 Android Studio中是否存在可能导致此问题的编译器合规性设置?

1 个答案:

答案 0 :(得分:4)

您可能正在导入

  

com.google.android.gms.location.LocationListener

而不是

  

导入android.location.LocationListener