unOnUiThread更新主线程

来源:互联网 发布:财经大数据 编辑:程序博客网 时间:2024/06/05 07:58

unOnUiThread更新主线程

更新UI采用Handler+Thread,需要发送消息,接受处理消息(在回调方法中处理),比较繁琐。除此之外,还可以使用runOnUiThread方法。

 

利用Activity.runOnUiThread(Runnable)把更新ui的代码创建在Runnable中,然后在需要更新ui时,把这个Runnable对象传给Activity.runOnUiThread(Runnable) 

 

Runnable对像就能在ui程序中被调用。如果当前线程是UI线程,那么行动是立即执行。如果当前线程不是UI线程,操作是发布到事件队列的UI线程。

 

 

@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.handler_msg);btn = (Button) findViewById(R.id.button1); btn.setOnClickListener(new OnClickListener() { @Overridepublic void onClick(View view) {// TODO Auto-generated method stub new Thread(new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stub        // 模拟耗时的操作。try {Thread.sleep(10000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}// 更新主线程UITestActivity.this.runOnUiThread(new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stubbtn.setText("更新完毕!");}}); }}).start();

原创粉丝点击