0

我想将 ItemizedOverlay 添加到始终将一个 OverlayItem 保留为选定项的 MapView。我通过使用具有两个不同标记可绘制对象的 StateListDrawable 来表明这一点。

但是现在,每当我点击地图而不点击标记时,最后选择的项目就会被取消选择。但我总是想保持最后一个项目被选中,直到一个新项目被击中。

我已经尝试拦截例如 onTap,但这只能让我完全禁用点击处理。这意味着现在我什至不能再选择另一个标记了。

对此有何建议?

4

1 回答 1

0

我在 android developer ml 上得到了答案。如果地图视图本身没有错误,我认为这将是正确的解决方案。

http://code.google.com/p/android/issues/detail?id=6752

这里建议的解决方案:

跟踪最后选择的项目。在 onTap() 中,如果 currentFocus() 为 null,则将 setFocus() 设置为您保存的最后一个选定项目。如果它不为空,请更新您的参考。

您也可以使用相同的想法,但使用 ItemizedOverlay 上的 OnFocusChangeListener 来确定新项目是否已获得焦点。

于 2010-02-21T16:21:03.410 回答