2016-08-12 56 views
1

由于某种原因,虽然我在我的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中是否存在可能导致此问题的编译器合规性设置?

+0

也许这是重复的:http://stackoverflow.com/questions/48 83496 /无法覆盖的方法的位置listener-class – dkmb

回答

4

你可能进口

com.google.android.gms.location.LocationListener

,而不是

进口android.location.LocationListener

+0

这就是它。不能相信我错过了这一点。谢谢! –