【发布时间】:2023-03-12 15:53:01
【问题描述】:
我正在尝试在下载数据期间显示进度对话框。
现在,这就是我所拥有的:
final ProgressDialog pd = ProgressDialog.show(this, "Updating", "Loading...");
Thread td = new Thread(new Runnable(){
public void run(){
//time consuming download
pd.dismiss();
}
});
td.start(); // start the thread and use join to wait for it to return
td.join(); //wrapped in try catch not shown here
我不需要从下载中更新进度,并且在下载数据之前应用不应该做任何其他事情,这就是我使用 join 的原因 - 所以它会等待下载完成。
我得到的结果是
- 按钮
- 界面冻结
- 进度对话框闪烁,下载完成
我需要的是
- 按钮
- 进度对话框显示
- 进度对话框关闭,下载完成。
知道为什么它没有立即显示,而是在完成后闪烁吗?
【问题讨论】:
-
为什么投反对票?我正在努力在这里学习。我的问题是坏的吗?
-
+1 我看不出有任何反对意见的理由!
标签: android multithreading progressdialog