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

Sha*_*ffy 1 java android location android-studio

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

此处的文档指定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) {

    }
    (...)
}
Run Code Online (Sandbox Code Playgroud)

编辑:

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

小智 5

你可能正在进口

com.google.android.gms.location.LocationListener

并不是

导入 android.location.LocationListener