zoukankan      html  css  js  c++  java
  • 循环执行AsyncTask

    /*定义部分
      一般作为当前Activity的内部类来定义
    */
    
    /**
         * 循环执行异步线程
         */
        public class LoopTask extends AsyncTask<String, Integer, Void> {
    
            @Override
            protected Void doInBackground(String... inputParameterOrNull) {
                //插入网络传输等Android会报异常(含loop字样),可能造成耗时的操作代码
                String parameter1=inputParameterOrNull[0];//传入的参数数组,调用方式有点麻烦。不需要也可以不传。
                return null;
    
            }
    
            @Override
            protected void onPostExecute(Void result) {
                //插入修改文本控件显示内容等更新主线程的UI操作代码
                textView.setText("完成");
                //【关键代码】递归调用,实现循环执行
                this.execute();
            }
    
            @Override
            protected void onPreExecute() {
                textView.setText("开始");
            }
    
            @Override
            protected void onProgressUpdate(Integer... values) {
                textView.setText("执行中");
            }
    
        }
    
    
    /*使用部分
      在主线程代码部分,一般在create()调用
    */
      new LoopTask().execute();//一次调用,自身循环调用。按返回退出当前Activity后则该线程一同终止循环。


    有错误和疑问的,非常欢迎指出和交流。直接回复留言即可。本人会定期查看。谢谢光临!
  • 相关阅读:
    查前端资料的一些网站
    10.18号笔记
    10.17号笔记
    10.16号笔记
    10.13号笔记
    10.12号笔记
    10.11号笔记
    10.10号笔记
    10.9号笔记
    理想VS现实
  • 原文地址:https://www.cnblogs.com/hsqzggg/p/3157004.html
Copyright © 2011-2022 走看看