2010-02-13 103 views
0

我想添加一個ItemizedOverlay到一個MapView,它始終將一個 OverlayItem作爲選定的一個。我用一個 StateListDrawable用兩個不同的標記可繪製來指出這一點。Android MapView Overlay會始終保持OverlayItem的選中狀態?

但是現在,只要我點擊地圖而沒有點擊標記, 上次選擇的項目將被取消選擇。但我總是希望保持 最後一項被選中,直到一個新的命中。

我已經嘗試攔截例如onTap,但這隻能讓我 完全禁用水龍頭處理。這意味着現在我甚至無法再選擇另一個標記。

有什麼建議該怎麼做?

回答

0

我在android開發人員ml上得到了答案。我認爲這是正確的解決方案,如果mapview本身沒有錯誤。

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

這裏所提出的解決方案:

跟蹤最後選擇的項目。在onTap()中,如果currentFocus()爲null,則setFocus()爲您保存的最後一個選定項目。如果它不爲空,請更新您的參考。

您也可以使用相同的想法,但使用ItemizedOverlay上的OnFocusChangeListener來確定新項目是否爲焦點。