zoukankan      html  css  js  c++  java
  • Android 异步任务

    一、系统自带的
             listview.setonRefreshListener(new OnRefreshListener() {// 设置刷新监听
                     public void onRefresh() {
                              new AsyncTask() {
                                    protected Void doInBackground(Void... params) {
                                              SystemClock.sleep(1000);
                                              data.add("刷新后添加的内容");
                                               return null;
                                    }

                                   @Override
                                   protected void onPostExecute(Void result) {
                                            adapter.notifyDataSetChanged();
                                            listview.onRefreshComplete();
                                   }
                              }.execute(null);
                      }
           });
    二、自定义的异步任务
     1.定义异步任务工具类
      public abstract class MyAsyncTask {
               private Handler handler = new Handler(){
               public void handleMessage(android.os.Message msg) {
                        onPostExecute();
               };
      };
      public abstract void onPreExecute();   //后台任务执行之前提示用户的界面操作.
      public abstract void onPostExecute();  //后台任务执行之后 更新界面的操作
      public abstract void doInBackground(); //在后台执行的一个耗时的操作.
      public void execute(){
               onPreExecute();        // 耗时任务执行之前通知界面更新
               new Thread(){
                      public void run() {
                               doInBackground();
                               handler.sendEmptyMessage(0);
                      };
               }.start();   
      }
     }
     

     2.使用异步任务工具类
     new MyAsyncTask() {
           @Override
           public void onPreExecute() {


           }

      
          @Override
          public void onPostExecute() {
                   adapter.notifyDataSetChanged();
                   listview.onRefreshComplete();
          }
      
          @Override
          public void doInBackground() {
                   SystemClock.sleep(1000);
                   data.add("刷新后添加的内容");
                   return null;
          }
     };

  • 相关阅读:
    软考下午题具体解释---数据流图设计
    透视表提取不反复记录(4)-每一个物品的最大值
    运用python抓取博客园首页的所有数据,而且定时持续抓取新公布的内容存入mongodb中
    [经验总结]material design效果与开发总结
    cocos2d-x 3.0 回调函数
    P1334 瑞瑞的木板
    P2776 [SDOI2007]小组队列
    P1886 滑动窗口
    P1160 队列安排
    P1823 音乐会的等待
  • 原文地址:https://www.cnblogs.com/zhangping/p/3513823.html
Copyright © 2011-2022 走看看