【问题标题】:Wait AsyncTask to finish and then exectues the next code in Android Java等待 AsyncTask 完成,然后在 Android Java 中执行下一个代码
【发布时间】:2021-04-13 19:49:51
【问题描述】:

我正在开发一个使用 Java 语言的 Android 应用程序。我遇到了一个奇怪的问题。我正在使用第三方库,它向服务器请求,获取一些数据,对数据进行一些更改,然后将其提供给我。所以就我而言,我没有做任何与网络相关的工作。我只是调用库的函数并获取数据。

现在的问题是我想等到函数返回数据,然后执行下一行的代码。但它会在活动结束时返回数据。

我在 github 上检查了它围绕 AsyncTask 构建的库的源代码,并在后台线程中完成工作。由于我无法更改库的代码,所以我希望在调用函数时,它会一直等到完成工作,然后移动到代码的下一行执行。

如果有人知道怎么做,请帮助我。

【问题讨论】:

  • 请添加你的代码调用AsyncTask函数
  • 在 AsyncTask 的 doInBackground() 方法中调用库方法,然后将该方法的结果传递给 onPostExecute()。得到结果后,在 onPostExecute()

标签: java android android-studio android-asynctask java-threads


【解决方案1】:

你应该看到这个帖子:AsyncTask Android example

您需要使用postExecute() 方法来启动您的自定义方法以继续流程。

顺便说一句,AsyncTask 即将被弃用,所以也许你需要使用类似这篇文章的东西:Android AsyncTask API deprecating in Android 11.What are the alternatives? 或者学习 Kotlin 并使用协程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-30
    • 2020-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多