Android:显示进度条对话框的问题?

时间:2011-02-27 01:08:36

标签: java android eclipse dialog progress-bar

在我的应用程序中,我试图显示一个进度条,表示函数完成执行所需的时间,并在函数完成执行后将其解除...

我的代码定义如下:

 protected Dialog onCreateDialog(int id) {
        switch (id) {
            case PROCESS: {
                ProgressDialog dialog = new ProgressDialog(this);
                dialog.setTitle("Indeterminate");
                dialog.setMessage("Please wait while loading...");
                dialog.setIndeterminate(true);
                dialog.setCancelable(true);
                return dialog;
            }
        }
        return null;
    }




showDialog(PROCESS);
doFunction();
dismissDialog(PROCESS);

由于某种原因,没有显示processdialog ......

有人可以帮我解决这个问题.... 还有其他办法吗?

谢谢:)

1 个答案:

答案 0 :(得分:2)

由于您的函数需要一些时间来处理,因此请使用异步任务

new AsyncTask<Void, Void, Void>() {

        @Override
        protected void onPreExecute()
        {
             pd = ProgressDialog.show(getApplicationContext(),"", "Sending Image ...", true);
            Log.d(TAG, "onPreExecute()");
        }

        @Override
        protected Void doInBackground(Void... params)
        {
            doFunction();
            return null;
        }

        @Override
        protected void onPostExecute(Void res)
        {
            Log.d(TAG, "onPostExecute()");
            pd.dismiss();
        }
    }.execute();

其次将其设置为不确定意味着您只会看到一个圆圈。

您应该将progress style设置为STYLE_HORIZONTAL