android:显示进度对话框

时间:2010-06-10 18:36:49

标签: android dialog progressdialog

我已经在stackoverflow上查看了Android API和其他帖子,但一直无法解决这个问题。

我的应用程序将文件下载到SD卡。我想在文件下载时弹出“加载...”对话框,然后在下载完成后消失。这就是我使用android API提出的:

ProgressDialog pd = ProgressDialog.show(this,"","Loading. Please wait...",true);

//download file

pd.cancel();

然而对话框实际上并未显示。当我调试它时,它声称它正在显示,但它显然不在屏幕上。

我能做什么?

2 个答案:

答案 0 :(得分:3)

您必须将下载代码运行到单独的线程中。简单的方法是使用AsyncTask

另请参阅this article如何使用它

答案 1 :(得分:2)

我有一个类似的场景,更多的是一个级别加载暂停,同时正在为游戏阶段设置内容。我启动对话框,在一个传递上下文的线程中启动级别加载,并在线程的末尾调用它:

mContext.runOnUiThread(new Runnable(){
    public void run() {
        mContext.mProgressDialog.dismiss();
    }
});

我发现runOnUiThread()方法非常有用。