我不知道这是怎么回事。我似乎无济于事。基本上,我会得到三个错误,都来自同一奇怪的情况。我的活动不会从Google地图实现地图更改侦听器。
对于代码的第一部分
public class BarreChat extends AppCompatActivity implements
OnCameraMoveStartedListener,
OnCameraMoveListener,
OnCameraMoveCanceledListener,
OnCameraIdleListener,
OnMapReadyCallback {
所有的听众都用红色的下划线标出,
Class BarreChat must either be declared abstract or implement abstract method onCameraMoveCanceled() in onCameraMovedCanceledListener
执行此操作的不只是在CameraMoveCanceled上。除OnCameraIdle和OnMapReadyCallback之外,其他所有侦听器均不起作用。
所以...我在活动类BarreChat中实现了该方法。
@Override
public void OnCameraMoveCanceled() {
callCloudLogic();
}
并在onMapReady()下设置侦听器
miniMap.setOnCameraMoveCanceledListener(this);
但是在这里,@Override用红色下划线标出错误消息
Method does not inherit from its superclass.
但是那怎么可能呢?根据Googlemap自己的地图侦听器文档,这是正确的方法。
所以我什至尝试了...
miniMap.setOnCameraMoveStartedListener(new GoogleMap.OnCameraMoveStartedListener(){
@Override
void OnCameraMoveStarted(int i) {
callCloudLogic();
}
});
但是,与此同时,我在Android Studio中又收到了几行红线错误消息。第一个是GoogleMap.setOnCameraMoveStartedListener()读取
Class 'Anonymous class derived from OnCameraMoveStartedListener()' must either be declared abstract or implement abstract method 'OnCameraMoveStarted(int) in OnCameraMoveStartedListener()
令人沮丧,因为它在下面声明。但是... @Override包含的信息与BarreChat类中的信息相同。
Method does not override from its superclass.
有人可以告诉我这里发生了什么以及如何解决?我以为我已经适当地重写了这些方法来实现此onclick功能,但显然还没有,因为它仍然坏了。
现在,文档在fragment class的扩展中使用了它们。我不确定这是否会做任何事情...我在主要活动下使用Google Map作为视图,而不是片段。所以也许那里有东西...