出于某种原因,虽然我在我的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中是否存在可能导致此问题的编译器合规性设置?
答案 0 :(得分:4)
您可能正在导入
com.google.android.gms.location.LocationListener
而不是
导入android.location.LocationListener