diff --git a/doric-android/doric/src/main/java/pub/doric/shader/GroupNode.java b/doric-android/doric/src/main/java/pub/doric/shader/GroupNode.java index 8388f1d9..1e943284 100644 --- a/doric-android/doric/src/main/java/pub/doric/shader/GroupNode.java +++ b/doric-android/doric/src/main/java/pub/doric/shader/GroupNode.java @@ -43,10 +43,15 @@ public abstract class GroupNode extends SuperNode { @Override protected void blend(F view, String name, JSValue prop) { if ("children".equals(name)) { - JSArray ids = prop.asArray(); mChildViewIds.clear(); - for (int i = 0; i < ids.size(); i++) { - mChildViewIds.add(ids.get(i).asString().value()); + if (prop.isArray()) { + JSArray ids = prop.asArray(); + for (int i = 0; i < ids.size(); i++) { + JSValue value = ids.get(i); + if (value.isString()) { + mChildViewIds.add(value.asString().value()); + } + } } } else { super.blend(view, name, prop);