2010-10-27 50 views
3

我有一個谷歌地圖的簡單疊加:http://pastebin.com/Rg8miMSh和我添加/刪除取決於縮放級別上的項目。刪除/添加我調用疊加層上的填充並在地圖視圖上無效。一切正常,除了1小故障:一個項目被刪除後,如果我點擊它的位置onTap仍然觸發,因爲OverlayItem不存在了,我得到java.lang.ArrayIndexOutOfBoundsException in com.google.android.maps .ItemizedOverlay.maskHelper(ItemizedOverlay.java:562)(全堆棧跟蹤 - http://pastebin.com/KThn4ZLE去除OverlayItem點擊事件後依舊會觸發

任何人都知道爲什麼發生這種情況?最初我打電話清楚,並再次添加所有項目,這似乎並沒有導致這個問題。然而,有很多項目成爲性能問題。添加/刪除差異的工作更快,我想保留這種方法。 謝謝!

回答

8

我解決了這個通過調用 「setLastFocusedIndex(-1);」在「doPopulate()」中。

+0

感謝你自己的問題跟進!剛剛遇到了這個 - 感謝修復。 android類必須堅持現在刪除的overlayitem的一個實例,導致它拋出一個draw()。 – Paul 2011-02-14 00:02:51

+0

此問題的更多細節:[ItemizedOverlay&ArrayIndexOutOfBoundsException異常>說明和解決方案](https://groups.google.com/forum/?fromgroups#!topic/android-developers/OLETFONHFMM [1-25]) – 2012-08-20 13:09:39

+0

1爲偉大的答案我花了3個以上一週內加入這一行我解決我的問題,感謝偉大的答案來解決這個問題,但沒有成功... – 2013-03-20 08:05:35