Android 教程-在线程中更新UI 线程的四种方法

文章标签: android-教程,android
2014-10-22 17:13:32     28 人阅读    

方法一:Activity.runOnUiThread(Runnable )
(经验之道: 这个最好用, 凡是要刷新页面的地方,

Activity.runOnUiThread( new Runnable()
    { public void run(){更新UI}}
);


 
方法二:子线程调用Handler的sendMessage(message)发送事件。

mHandler = new Handler() {  
 
   @Override  
 
   public void handleMessage(Message msg) {  
 
        //操作界面  
       myText.setText( 来自网络的信息);  
 
      super.handleMessage(msg);  
 
   }  
 
  };  

public class MyThread extends Thread { public void run() { ​ ​ ​ // 耗时操作 ​ ​ ​ ​loadNetWork(); Message msg = new Message(); mHandler.sendMessage(msg);//向Handler发送消息, } }

方法三:View.post(Runnable )

public void onClick( View v ) {  
 
        new Thread( new Runnable() {  
 
                public void run() {  
 
                       // 耗时操作  
​    ​    ​    ​    ​    ​      loadNetWork();  
�
​                          myText.( new Runnable() {  
 
                                  myText.setText( 来自网络的信息);  
 
                          });  
 
                 }  
 
        }).start();  
}
}  

方法四:AsyncTask

//UI线程中执行 

new DownloadImageTask().execute( "www.91dota.com" );  



private class DownloadImageTask extends AsyncTask {  
 
    protected String doInBackground( String... url ) {  
 
         return loadDataFormNetwork( url[0] );//后台耗时操作  
    }  
 

    protected void onPostExecute( String result ) {  
 
          myText.setText( result ); //得到来自网络的信息刷新页面   

   }  



}
}


原文地址:http://www.itmmd.com/201410/55.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

Android NDK项目的建立与调试 之 OpenCV开发   上一篇
下一篇  Android 教程-解压缩功能实现

精彩回复
发表评论
姓名:       

《程序员app》专门为程序员量身定做!