Android 地图上的点击似乎正在累积

Android 地图上的点击似乎正在累积,android,Android,我写了一个应用程序,显示都柏林市一组交通摄像头的位置。我在地图上显示这些标记。当用户点击一个标记时,他们将进入一个新的活动,显示相关摄像机的最新图片。它似乎对第一个水龙头起作用。图像显示,回击会再次将您带到摄影机位置的地图。但是,再次点击(相同标记或不同标记)会显示图像,但单击“上一步”会再次显示图像。每次连续点击时,ImageView的实例似乎都在累积 有关守则(我认为)是: 这个(不做任何定制): 以上两种方法都可以在我用此签名创建的类中找到: class HelloItemizedOver

我写了一个应用程序,显示都柏林市一组交通摄像头的位置。我在地图上显示这些标记。当用户点击一个标记时,他们将进入一个新的活动,显示相关摄像机的最新图片。它似乎对第一个水龙头起作用。图像显示,回击会再次将您带到摄影机位置的地图。但是,再次点击(相同标记或不同标记)会显示图像,但单击“上一步”会再次显示图像。每次连续点击时,ImageView的实例似乎都在累积

有关守则(我认为)是:

这个(不做任何定制):

以上两种方法都可以在我用此签名创建的类中找到:

class HelloItemizedOverlay extends ItemizedOverlay<MyOverlayItem>

当我在我的日志文件中查看时,它确实看起来好像水龙头被多次调用,但我不明白为什么会这样。任何帮助都会很好。

如果不深入研究,我会想到两件事:

1) 在这种情况下,您的标记可能重叠

return super.onTap(index);

会有所不同

2) 您可能正在启动第二个活动的新实例,而不是在后台重用该实例

您可以尝试添加:

i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
在你开始行动之前(我)


我认为其中一个或两个都会有帮助,它们会对发生的事情产生重大影响,所以请尝试一下。

谢谢@NickT,现在效果很好。看起来我不需要将返回值更改为true(我已经在故障排除中尝试过了)。super类中的onTap什么也不做,返回false,所以这不会影响我的代码。重新排序活动堆栈的标志已启用。我感觉到有一些意图:)
@Override
protected void onResume() {
    super.onResume();
    Intent i = getIntent();
    Bundle ex = i.getExtras();
    if (ex != null) {
        String imageSrc = (String) ex.get("imageSrc");

        Log.d(TAG, "imageSrc: " + imageSrc);
        Util u = new Util();

        u.downloadFile(mImage, imageSrc);
    }
}
return super.onTap(index);
return true;
i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);