I have initialized the Callout instance. In the open event handler, I want to add elements according to an ArrayCollection. I assume it's easy to render before it shows up, or I need to detect changing of the ArrayCollection. Unfortunately, the Callout doesn't place correctly event if I have called invalidateDisplayList(), invalidateSize() and updatePopUpPosition. It shows up correctly if I close it and open again.
Simply speaking, if content is changed in open event handler, the callout position will go wrong.
Hope there will be a simple way to fix it.