返回的值只能用在 postexecute 方法上吗?
当我调用 doInBackground 方法时,我得到了网页的源代码(字符串)。我想将该源代码返回到我的主要活动,因为我在那里对源代码中的信息进行分类。但我想我不能那样做……可以吗?
从执行后,我可以退回它吗?
返回的值只能用在 postexecute 方法上吗?
当我调用 doInBackground 方法时,我得到了网页的源代码(字符串)。我想将该源代码返回到我的主要活动,因为我在那里对源代码中的信息进行分类。但我想我不能那样做……可以吗?
从执行后,我可以退回它吗?
在该onPostExecute
方法中,您可以将其分配给您的活动的成员变量,或使用它作为参数调用其他方法。
根据评论更新:您可以AsyncTask
在另一个文件中声明声明的子类,但您将无法直接操作封闭活动的成员变量。但是,您可以定义接口以将您的活动和AsyncTask
其他地方定义的活动粘合在一起,并将对活动的引用传递给AsyncTask
构造函数中的 。
AsyncTask 的变量在任务完成后被删除。
但是,您可以从以下位置设置执行类的类变量onPostExecute
:
@Override
protected void onPostExecute(Integer result) {
integerListInExecutingClass = result;
super.onPostExecute(result);
}
但这种方法只有在您将 AsyncTask 声明为执行类中的私有类时才有效。