实现进度对话框,其中要下载的图像数量超过 1

发布于 2024-12-12 21:31:35 字数 1058 浏览 0 评论 0原文

我想在从服务器下载图像时显示进度对话框。我能够下载图像并实现进度对话框,但我的问题是进度对话框不会被关闭,它只显示最后下载的图像。

我正在使用以下代码:

         public class BackgroundAsyncTask extends AsyncTask<String, Integer, Bitmap> {

    int myProgress;


    @Override
    protected void onPostExecute(Bitmap result) {
        image.setVisibility(View.VISIBLE);
        image.setImageBitmap(result);
        if(dialog.isShowing())
        {
            dialog.dismiss();

        }
         return;
    }



    protected void onPreExecute() {
            dialog = ProgressDialog.show(ProfilePageNormalUser.this,
                "Loading...", "Please wait...");
    }

    @Override
    protected Bitmap doInBackground(String... paths) {
        return DownloadFile(imageUrl);


    }

    @Override
    protected void onProgressUpdate(Integer... values) {
        // TODO Auto-generated method stub
        progressBar.setProgress(values[0]);
    }

}

以及以下代码来调用这些:

      new BackgroundAsyncTask().execute(imageUrl);

任何人都可以告诉我可能是什么问题吗 谢谢

I want to show progress dialog at the time images are being downloaded from server. i am able to download the images and implement the progress dialog but my problem is that the progress dialog doesnot get dismissed and it only shows the last downloaded image.

I am using the following code for that :

         public class BackgroundAsyncTask extends AsyncTask<String, Integer, Bitmap> {

    int myProgress;


    @Override
    protected void onPostExecute(Bitmap result) {
        image.setVisibility(View.VISIBLE);
        image.setImageBitmap(result);
        if(dialog.isShowing())
        {
            dialog.dismiss();

        }
         return;
    }



    protected void onPreExecute() {
            dialog = ProgressDialog.show(ProfilePageNormalUser.this,
                "Loading...", "Please wait...");
    }

    @Override
    protected Bitmap doInBackground(String... paths) {
        return DownloadFile(imageUrl);


    }

    @Override
    protected void onProgressUpdate(Integer... values) {
        // TODO Auto-generated method stub
        progressBar.setProgress(values[0]);
    }

}

and the following for calling these:

      new BackgroundAsyncTask().execute(imageUrl);

Can anyone tall me what could be the problem
Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

兰花执着 2024-12-19 21:31:35

您必须调用 publishProgress() 在每张图像之后。然后,publishProgress() 将在 UI 线程上调用 onProgressUpdate()

You have to call publishProgress() after each image. publishProgress() will then call onProgressUpdate() on the UI thread.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文