我在 methode 中运行一个线程,我想在线程完成后返回一个值,这是我尝试执行 join() 但阻塞 UI 线程的问题。 我如何才能等待线程完成,然后在不阻塞 UI 线程的情况下返回值?
Boolean foo(){
myThread mt = new myThread();
mt.start();
return mt.isSentSuccessfully;
}
最佳答案
您可以为此使用 Android 的 AsyncTask
。
http://developer.android.com/reference/android/os/AsyncTask.html
当我使用它时,我将后台任务放在一个扩展 AsyncTask
的类中并覆盖 onPreExecute()
和 onPostExecute(..)
方法显示/隐藏 ProgressDialog
。它工作得很好。
关于java - 等待线程完成而不阻塞 UI 线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5779085/