正在学习使用Android的AsyncTask的异步使用方法,简单高效,比Handler,Message之类的方便多了。网上教程一大堆,搜一下就知道怎么用了。这里要记录两点曾经让我困惑的地方。
一是,几乎所有的(大部分因为转载)介绍AsyncTask的文章中都有这么一句话“只能被执行一次,否则多次调用时将会出现异常”。什么玩意?这是什么意思?这个过程一次性的?执行完就废了???后来才知道,是实例只能执行一次,如果要多次执行的话,必须每次都要New一个新实例,然后执行。what a fuсking day!
二是,网上关于AsyncTask类的使用方法,都是直接在Activity内嵌套继承AsyncTask的子类。这样固然演示方便,但当我单独将AsyncTask的子类作为一个文件编写时,遇到了一个“困难”,就是如何获取目标Activity上的控件,好在AsyncTask的onPostExecute方法中刷新控件内容呢?网上搜啊搜啊,没有。后来一想,真是笨蛋啊,获取不到,就传一个嘛!思维定势,老想获取,直接在构造函数中定义一个View传入变量,搞定!
发表回复