单击按钮时显示进度对话框

时间:2011-12-20 08:13:21

标签: android button progressdialog

我在我的应用程序中使用以下代码。

    Button button = new Button(this);
    button.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {

                    ProgressDialog pd = new ProgressDialog(v.getContext());
                    pd.setTitle("Please wait.......");
                    pd.show();
                    // some task which will take minimum  2 or 3 seconds
                    // e.g. parsing XML file
                    pd.dismiss();
                }
            });

我按照上面的代码思考,当我点击按钮时,必须在屏幕上显示进度对话框,但它不显示。为什么我不知道。

但是,如果我删除pd.dismiss()显示,那也是仅在按钮释放后。

如果我将任何无限循环代替我的任务,其不显示进度对话框

我的代码是否正确?如果有人知道我的要求的解决方案,请回复此帖。

感谢。

2 个答案:

答案 0 :(得分:1)

AsyncTasks专为此目的而设计。单击按钮时启动asyncTask,并在asyncTask的preExecute中显示对话框,并在asyncTask的PostExecute()上关闭对话框。在background()方法中执行需要时间的活动。

答案 1 :(得分:0)

使用AsychTask类将代码写入inBackground()方法并使用onUpdateProgress()显示进度并在onPostExecute()

上解除

这是示例链接

http://developer.android.com/reference/android/os/AsyncTask.html

http://www.vogella.de/articles/AndroidPerformance/article.html