我想将一个ItemizedOverlay添加到一个总是保留一个的MapView OverlayItem作为选定的一个。我用a表示这个 StateListDrawable有两个不同的标记drawables。
但是现在,每当我点击地图而不是击中标记时, 最后选择的项目将被取消选中。但我总是想保留 选择最后一项,直到新的项目被击中。
我已经试图拦截,例如onTap,但这只能让我 完全禁用水龙头处理。这意味着现在我甚至不能再选择另一个标记了。
有关于此的建议吗?
答案 0 :(得分:0)
我在Android开发者ml上得到了答案。我认为如果mapview本身没有bug,这将是正确的解决方案。
http://code.google.com/p/android/issues/detail?id=6752
这里提出的解决方案:
跟踪上次选择的项目。在onTap()中,如果currentFocus()为null,则将setFocus()设置为您保存的最后一个选定项目。如果它不为空,请更新您的参考。
您也可以使用相同的想法,但在ItemizedOverlay上使用OnFocusChangeListener来确定新项目是否已成为焦点。