由于某种原因,虽然我在我的Android应用程序中实现了LocationListener
,但onStatusChanged
正在给我一个“方法不会覆盖其超类方法”的编译错误。无法覆盖Android应用程序中的onStatusChanged(LocationListener)
文档here指定LocationListener
确实包含此方法。
此外,我还在我的应用程序中覆盖了onLocationChanged
,但奇怪的是,此重写不会产生编译错误。
我的代码如下(与不相关的部分ellipsed出):
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 SO问题,虽然我们的问题似乎是一样的,我我正在运行JDK 1.8(正如我的项目结构中指定的那样,它大于JDK 1.6),所以我不认为这是一个解决方案,但是我运行的是Android Studio而不是Eclipse。 Android Studio中是否存在可能导致此问题的编译器合规性设置?
也许这是重复的:http://stackoverflow.com/questions/48 83496 /无法覆盖的方法的位置listener-class – dkmb