weex框架内部报错

05-02 10:03:24.716 14654-14654/? E/weex: create body failed.java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
                                             at android.view.ViewGroup.addViewInner(ViewGroup.java:4917)
                                             at android.view.ViewGroup.addView(ViewGroup.java:4748)
                                             at android.view.ViewGroup.addView(ViewGroup.java:4688)
                                             at android.view.ViewGroup.addView(ViewGroup.java:4661)
                                             at com.taobao.weex.WXSDKInstance.onRootCreated(WXSDKInstance.java:1382)
                                             at com.taobao.weex.dom.action.CreateBodyAction.executeRender(CreateBodyAction.java:132)
                                             at com.taobao.weex.dom.RenderActionTask.execute(RenderActionTask.java:50)
                                             at com.taobao.weex.ui.WXRenderManager$1.run(WXRenderManager.java:104)
                                             at com.taobao.weex.common.WXThread$SafeRunnable.run(WXThread.java:48)
                                             at android.os.Handler.handleCallback(Handler.java:789)
                                             at android.os.Handler.dispatchMessage(Handler.java:98)
                                             at android.os.Looper.loop(Looper.java:164)
                                             at android.app.ActivityThread.main(ActivityThread.java:6665)
                                             at java.lang.reflect.Method.invoke(Native Method)
                                             at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
                                             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:781)
                                             

错误显示onRootCreated()方法内部mRenderContainer.addView(root.getHostView())这个方法在addview之前没有移除之前的子View,也就是说出现了多次添加的问题,经过多次排查,都没有发现问题所在,这个问题出现在一次前端更新了一个vue代码所致,ios端无问题,只有android端有此问题

我在playground里面测试报错页面,也发现出现了这个BUG,不过直接修改源码可以解决这个问题,页面成功渲染。但是我的项目是jar包引入的,无法修改源码。这个到底是什么原因导致的呢?

阅读 1.8k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进