如何停止android studio中任何正在运行的功能

时间:2018-11-30 16:06:44

标签: android firebase android-studio

我正在制作一个应用程序,该应用程序将同时从firebase中下载大量图像,并进行下载并显示进度对话框,并在对话框中设置取消按钮。 我想在用户按下下载按钮时取消下载。我不知道该怎么办。

请任何人帮助。

下载功能。

protected void download() throws IOException, JSONException {
        setDownloadProgressDialoag();
        imageList = image.getImages();
        File file = new File(context.getExternalFilesDir(null), "Images");
        if (!file.exists()) {
            file.mkdir();
        }
        for (Image image : imageList) {
            String url = image.getImageUrl();
            File imageFile = new File(file, i + "_" + image.getName() + ".jpg");
            if (!imageFile.exists()) {
                StorageReference downloadRef = FirebaseStorage.getInstance().getReferenceFromUrl(url);
                downloadRef.getFile(imageFile).addOnCompleteListener(new OnCompleteListener<FileDownloadTask.TaskSnapshot>() {
                    @Override
                    public void onComplete(@NonNull Task<FileDownloadTask.TaskSnapshot> task) {
                        downloadProgressDialoag.incrementProgressBy(1);
                    }
                }).addOnFailureListener(new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {
                    }
                });
                i++;
                }
        }
}

进度对话框。

private void setDownloadProgressDialoag() {
        downloadProgressDialoag = new ProgressDialog(context, R.style.PackLoaderDialog);
        downloadProgressDialoag.setTitle("Downloading Images...");
        downloadProgressDialoag.setMax(Image.noOfImage);
        downloadProgressDialoag.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
        downloadProgressDialoag.setCancelable(false);
        downloadProgressDialoag.setButton(DialogInterface.BUTTON_NEGATIVE, "Cancel", new OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
            }
        });
        downloadProgressDialoag.show();
    }

我不知道在OnClickListener中应该怎么做。

0 个答案:

没有答案