源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Android 在其他线程中更新UI线程的解决方法

  • 时间:2021-08-22 03:25 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Android 在其他线程中更新UI线程的解决方法
[b]方法一:Activity.runOnUiThread(Runnable ) [/b](经验之道: 这个最好用, 凡是要刷新页面的地方, Activity.runOnUiThread( new Runnable()     { public void run(){更新UI}} ); [b]方法二:子线程调用Handler的sendMessage(message)发送事件。 [/b]
[u]复制代码[/u] 代码如下:
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发送消息,        }   }
[b]方法三:View.post(Runnable ) [/b]
[u]复制代码[/u] 代码如下:
public void onClick( View v ) {          new Thread( new Runnable() {                  public void run() {                         // 耗时操作  ​    ​    ​    ​    ​    ​      loadNetWork();  ​                          myText.( new Runnable() {                                    myText.setText( 来自网络的信息);                            });                   }          }).start();  }
[b]方法四:AsyncTask [/b]
[u]复制代码[/u] 代码如下:
//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 ); //得到来自网络的信息刷新页面      }  }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部