这里Button的刷新咋一看是在非UI线程做了刷新,会报异常么?其实并非如此。
button.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View arg0) {
new
Thread(new Runnable() {
@Override
public void run() {
// button.setText("sss"); 非UI线程,报异常
try
{
Thread.sleep(6000);//放到button.post前才有意义,如果放到button.post里还是会阻塞UI
}
catch (InterruptedException e) {
// TODO Auto-generated catch
block
e.printStackTrace();
}
button.post(new
Runnable() {//加到UI线程队列,顺序执行
@Override
public void run()
{
// TODO Auto-generated method
stub
button.setText("sss");
}
});
}
}).start();
}
});
使用View.post更新UI,布布扣,bubuko.com
原文:http://www.cnblogs.com/maliu/p/3595426.html