diff --git a/doric-android/doric/src/main/java/pub/doric/shader/SuperNode.java b/doric-android/doric/src/main/java/pub/doric/shader/SuperNode.java index 32ce214d..1073285c 100644 --- a/doric-android/doric/src/main/java/pub/doric/shader/SuperNode.java +++ b/doric-android/doric/src/main/java/pub/doric/shader/SuperNode.java @@ -127,7 +127,12 @@ public abstract class SuperNode extends ViewNode { JSValue[] subviews = jsValue.asArray().toArray(); List finalTarget = new ArrayList<>(); - + if (oriSubviews.isArray()) { + JSArray array = oriSubviews.asArray(); + for (int i = 0; i < array.size(); i++) { + finalTarget.add(array.get(i)); + } + } for (JSValue subview : subviews) { boolean find = false; if (oriSubviews.isArray()) { @@ -135,7 +140,6 @@ public abstract class SuperNode extends ViewNode { if (viewIdIsEqual(subview.asObject(), targetSubview.asObject())) { find = true; recursiveMixin(subview.asObject(), targetSubview.asObject()); - finalTarget.add(targetSubview); break; } }