这是异常::
的代码if (getZoomLevel() != last_zoom)
{
// if computeScroll called before timer counts down we should drop it and start it over again
zoom_event_delay_timer.cancel();
zoom_event_delay_timer = new Timer();
Log.v("last_zoom","last_zoom");
zoom_event_delay_timer.schedule(new TimerTask()
{
@Override
public void run()
{
zoom_change_listener.onZoomChange(_this, getZoomLevel(), last_zoom);
Log.v("last_zoom","last_zoom"+last_zoom);
last_zoom = getZoomLevel();
Log.v("last_zoom","last_zoom");
}
}, events_timeout);
}
和错误:
01-05 12:24:50.791: ERROR/AndroidRuntime(11132): FATAL EXCEPTION: Timer-11
01-05 12:24:50.791: ERROR/AndroidRuntime(11132): java.util.ConcurrentModificationException
01-05 12:24:50.791: ERROR/AndroidRuntime(11132): at java.util.ArrayList$ArrayListIterator.next(ArrayList.java:573)
01-05 12:24:50.791: ERROR/AndroidRuntime(11132): at com.bluepal.android.parkable.Prakablescreen.onRegionChange(Prakablescreen.java:1028)
01-05 12:24:50.791: ERROR/AndroidRuntime(11132): at com.bluepal.android.parkable.Prakablescreen$14.onPanChange(Prakablescreen.java:467)
01-05 12:24:50.791: ERROR/AndroidRuntime(11132): at com.bluepal.android.parkable.EnhancedMapView$2.run(EnhancedMapView.java:126)
01-05 12:24:50.791: ERROR/AndroidRuntime(11132): at java.util.Timer$TimerImpl.run(Timer.java:289)
答案 0 :(得分:1)
请提供一些源代码。
从错误中看,你试图在迭代时修改一个arraylist。如果是这种情况,请使用arraylist&的临时容器。在所有修改之后,将此临时arraylist存储到您的arraylist。
答案 1 :(得分:1)
答案 2 :(得分:0)
从错误中看来你似乎是 试图修改一个arraylist而 迭代它
如果100rabh是正确的并且你没有通过迭代器修改你的列表,也许你可以使用CopyOnWriteArrayList,这是ThreadSafe。