0

我制作了一个图片下载线程来从欲望网址下载图片。在那个线程上,我使用了一个进度对话框,但进度对话框在 3 或 4 秒后没有转动,似乎它被挂起。但是后台工作还可以。我的问题是,什么进度对话框没有转动?它看起来像什么?我在开始位置使用此代码。

imageUploadhandler.postDelayed(runImageUpload, 500);
        dialog = ProgressDialog.show(AllProductActivityPictGrid.this, "",
                "Message...", true);
        dialog.setCancelable(true);
4

3 回答 3

2

您的对话框挂起,因为如果您在 中实例化您HandlerActivity,那么您发布到的所有内容都Handler将在 UI 线程上运行,而不是在后台线程上运行。

进行下载并ProgressDialogAsyncTask.

于 2012-07-27T06:51:08.320 回答
1

也许你应该看看AsyncTask

 protected void onPreExecute() {
      progressDialog=ProgressDialog.show(context,"Please Wait..","Retrieving data from device",false);
    }


  @Override
  protected String doInBackground(String... params) {

    //background stuff here

    return "";
}

protected void onPostExecute(String result) {

        progressDialog.dismiss(); 
        Toast.makeText(context, "Finished", Toast.LENGTH_LONG).show(); 

}
于 2012-07-27T08:37:28.077 回答
0

下载完成后尝试使用 dialog.dismiss() 。

请使用以下代码调用进度对话框。

  ProgressDialog progressDialog = new ProgressDialog(context);
  progressDialog.setMessage("Please Wait...");
  progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
  progressDialog.show();

  After completion of your task call  progressDialog.dismiss();
于 2012-07-27T06:28:47.400 回答