Android的ProgressDialog本身不支持在后台线程运行。当你需要显示一个进度条时,它应该在主线程中创建并显示。然而,你可以使用以下方法在后台执行耗时操作,同时更新ProgressDialog:
- 使用AsyncTask或其他后台线程库(如RxJava、Kotlin协程等)在后台执行耗时操作。
- 在后台任务中,通过Handler或其他方式将进度更新发送回主线程。
- 在主线程中,根据后台任务发送的进度更新,调用ProgressDialog的
setProgress()
方法来更新进度条。
这是一个简单的示例,使用AsyncTask和Handler实现后台操作并更新ProgressDialog:
在你的Activity中,创建一个ProgressDialog并启动AsyncTask:
这样,你就可以在后台执行耗时操作,同时更新ProgressDialog了。