• 循环执行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后则该线程一同终止循环。


    有错误和疑问的,非常欢迎指出和交流。直接回复留言即可。本人会定期查看。谢谢光临!
  • 相关阅读:
    php解决与处理网站高并发 大流量访问的方法
    mysql事务和锁InnoDB
    从一个死锁看mysql innodb的锁机制
    Git如何删除自己创建的项目
    公众号的坑
    字符串转Unicode码
    字符串转UTF-8码(%开头)
    git介绍和使用
    ng2中文文档地址
    两个数组的排序方法
  • 原文地址:https://www.cnblogs.com/hsqzggg/p/3157004.html
Copyright © 2020-2023  润新知