[WEEX-342][android] ava.util.ConcurrentModificationException at java.util.ArrayList$ArrayListIterator.next(ArrayList.java:573)at com.taobao.weex.ui.component.WXComponent.applyEvents(WXComponent.java:290)
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/39183d43 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/39183d43 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/39183d43 Branch: refs/heads/master Commit: 39183d435fc98ffaeb0d345b56bbcb826c835225 Parents: 785bc19 Author: jianbai.gbj <[email protected]> Authored: Tue Jun 5 12:00:47 2018 +0800 Committer: YorkShen <[email protected]> Committed: Thu Jun 7 10:51:53 2018 +0800 ---------------------------------------------------------------------- .../main/java/com/taobao/weex/ui/component/WXComponent.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/39183d43/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java ---------------------------------------------------------------------- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java index 3c15cd5..26fedbc 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java @@ -69,6 +69,7 @@ import com.taobao.weex.common.WXPerformance; import com.taobao.weex.common.WXRuntimeException; import com.taobao.weex.dom.CSSShorthand; import com.taobao.weex.dom.CSSShorthand.CORNER; +import com.taobao.weex.dom.WXEvent; import com.taobao.weex.dom.WXStyle; import com.taobao.weex.dom.transition.WXTransition; import com.taobao.weex.layout.ContentBoxMeasurement; @@ -287,7 +288,13 @@ public abstract class WXComponent<T extends View> extends WXBasicComponent imple private void applyEvents() { if (getEvents() == null || getEvents().isEmpty()) return; - for (String type : getEvents()) { + WXEvent event = getEvents(); + int size = event.size(); + for(int i=0; i<size; i++){ + if(i >= event.size()){ + break; + } + String type = event.get(i); addEvent(type); } setActiveTouchListener();
