handler.post(new Runnable()
{
{
@Override
public void run()
{
System.out.println(Looper.myLooper().getThread()+”post”);
textView.setText(“alreadly changed”);
}
});
各位高手求指点啊,new 一个runnable不是开启一个新线程么,为什么在这就不适用了呢。通过打印可以得出还是运行在main线程里面,也能更新UI主键。为啥是这样呢,为啥呢?
解决方案
40
Handler是绑定到创建它的主线程中的,Handler跟UI主线程是同一个线程。Handler的作用:主要是在其他后台线程中,通过handler这个媒介,向UI主线程发送Runnable对象(即代码段)