1

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

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

从执行后,我可以退回它吗?

4

2 回答 2

0

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

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

于 2012-04-23T16:28:35.017 回答
0

AsyncTask 的变量在任务完成后被删除。

但是,您可以从以下位置设置执行类的类变量onPostExecute

@Override
protected void onPostExecute(Integer result) {
        integerListInExecutingClass = result;                   
        super.onPostExecute(result);
}

但这种方法只有在您将 AsyncTask 声明为执行类中的私有类时才有效。

于 2012-04-23T16:33:19.587 回答