Ask a train of thought to verify weex. Rendersuccess reliability

//crate Weex instance
WXSDKInstance mInstance = new WXSDKInstance(this);
//set render container
mInstance.setRenderContainer(renderContainer);
//set image Adapter
mInstance.setImgLoaderAdapter(new ImageAdapter(this));
//register render listener
mInstance.registerRenderListener(new IWXRenderListener() {
   @Override
   public void onViewCreated(WXSDKInstance instance, View resultView) {
       // Notice: If you don"t setRenderContainer before render, you need add the resultView to view tree here.

   } 
   @Override
   public void onRenderSuccess(WXSDKInstance instance) {
        //look here
   }
   @Override
   public void onRefreshSuccess(WXSDKInstance instance) {
   }
   @Override
   public void onException(WXSDKInstance instance, String errCode,String msg) {
   }
}); 

yesterday I made an aos and clicked on the keyboard outside the input field. The task, idea is to traverse the view tree and find all the edittext. The effect of the native activity is normal, but the weexActivity can not be put back on the keyboard. When you look at the breakpoint, the edittext list obtained by traversing the view tree is empty. In addition, the mobile phone breakpoint execution traversal, edittext list is not empty, remove the breakpoint execution limit, the high probability edittext list is empty.

and my traversal operation is performed in the onRenderSuccess callback.

the preliminary guess is that the conclusion that the weex page is drawn and completed in onRenderSuccess is not reliable. At the time of traversal, the edittext has not yet been drawn.

solution: I added postdelay 200ms to onRenderSuccess"s callback, and the phenomenon disappeared.

remaining problem: I was looking for js framework to trigger the code logic of native onRefreshSuccess, but found that the final call was callNativeModule. The location of emmm, is not accurate. In the face of this verification of whether the layout drawing is complete, do you have any ideas? thank you for your advice!

Mar.15,2021
Menu