AsyncTask中返回变量的范围

时间:2012-04-23 16:26:44

标签: android multithreading android-asynctask

返回的值只能用于postexecute方法吗?

当我调用doInBackground方法时,我得到一个网页的源代码(String)。我想将源代码返回到我的主要活动,因为我在源代码中对信息进行了分类。但我想我不能那样做......我可以吗?

从postexecute,我可以退货吗?

2 个答案:

答案 0 :(得分:0)

onPostExecute方法中,您可以将其分配给活动的成员变量,或者将其作为参数调用其他方法。

每条评论更新:您可以声明在另一个文件中声明的AsyncTask的子类,但您无法直接操作封闭活动的成员变量。但是,您可以定义接口以将您的活动和其他地方定义的AsyncTask粘合在一起,并将对活动的引用传递给构造函数中的AsyncTask

答案 1 :(得分:0)

任务完成后,将删除AsyncTask的变量。

但是,您可以从onPostExecute

设置执行类的类变量
@Override
protected void onPostExecute(Integer result) {
        integerListInExecutingClass = result;                   
        super.onPostExecute(result);
}

但是,只有在执行类中将AsyncTask声明为私有类时,此方法才有效。