AsyncTask中的onPostExecute方法的返回类型是否可以无效?

时间:2012-03-01 02:10:50

标签: android android-asynctask

我正在开发一款Android应用,需要使用 AsyncTask 进行网络连接。我已经执行了 doInBackground 方法并将返回值传递给 onPostExecute 方法。我想从 onPostExecute 方法返回一些值,返回到调用它的函数(我知道,onPostExecute在主线程中执行)。这可能吗?是吧, onPostExecute 返回类型必须是void?如果没有,你建议什么?

提前致谢 Maneesh

1 个答案:

答案 0 :(得分:1)

如果你希望AsyncTask返回一个可以直接捕获的值,你需要一个阻塞调用,这会破坏AsyncTask的目的。

你应该做的是扩展AsyncTask或包装它,然后创建一个包含你想要返回的值的字段,并在onPostExecute中设置它。然后在您的代码中,保持对AsyncTask的引用,并在任务完成后检查该值。