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