android中在线程之间传递消息除了handler的sendMessage以及post和postDelayed方法外,还提供给我们一个风骚的方法,就是View.post()方法,其实这两者做的都是同一件事,就是把时间添加到消息队列中去。
不过细心的网友会发现,有时候view.post会报一些莫名其妙的错误,这就是因为这个方法有一个前提,就是这个view、必须已经被添加到窗体中了,你可能在onCreate方法中调用了它,但是这个时候还没有被添加,所以会有一些错误产生。
你只要在onAttachedTowindow方法中调用view的post方法,问题就会迎刃而解。
PS:大家用poopwindow的时候注意,在给popwindow布局的时候也不可以在onCreate中操作,可在onResume中操作,问题的原因也是一样,要等到相应的view渲染完成,被完全的添加到窗体中才可。