gpt4 book ai didi

android - 等待 ASyncTask 完成或设置变量

转载 作者:可可西里 更新时间:2023-11-01 19:08:42 25 4
gpt4 key购买 nike

我正在尝试将 Activity 中的变量设置为我的 AsyncTask 的结果。我读到我无法返回变量,我必须在我的 Activity 中设置变量,然后在 onPostExecute 方法中更改它。

我的问题是在 AsyncTask 完成后我需要使用那个变量。我在这方面遇到了麻烦,因为到目前为止我尝试过的所有解决方案都会导致 UI 卡住,然后变得无响应。

到目前为止我尝试了什么:

while (!task.isCancelled()) {
// Wait...
}

while (variable == null) { 
// Wait ...
}

我正在做的是将变量从 AsyncTask 传递到我的 Activity 的最佳方式吗?如果是,那么我如何在不锁定 UI 的情况下等待 Activity 中的任务完成?

最佳答案

如果您依赖于 AsyncTask 的结果,则可以这样做。

Object result = asyncTask.execute().get();

结果的类型是您的 doInBackground() 方法中的返回类型。但是你的主线程将等待直到任务完成。

关于android - 等待 ASyncTask 完成或设置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14045765/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com