Dan*_*Dan 13 android android-asynctask
我试图将一个活动中的变量设置为我的AsyncTask的结果.我已经读过,我不能返回变量,我必须在我的活动中设置变量,然后在onPostExecute方法中更改它.
我的问题是AsyncTask完成后我需要使用该变量.我遇到了麻烦,因为到目前为止我尝试过的所有解决方案都会导致UI冻结,然后无响应.
到目前为止我尝试了什么:
while (!task.isCancelled()) {
// Wait...
}
Run Code Online (Sandbox Code Playgroud)
和
while (variable == null) {
// Wait ...
}
Run Code Online (Sandbox Code Playgroud)
我正在做的是将变量从AsyncTask传递给我的Activity的最佳方法吗?如果是,那么如何在不锁定UI的情况下等待任务完成活动?
小智 50
如果您依赖于AsyncTask的结果,则可以执行此操作.
Object result = asyncTask.execute().get();
Run Code Online (Sandbox Code Playgroud)
结果的类型是doInBackground()方法中的返回类型.但是你的主线程将等待任务完成.
| 归档时间: |
|
| 查看次数: |
31553 次 |
| 最近记录: |