异步任务中的进度对话框不起作用

时间:2017-12-05 15:28:01

标签: android android-asynctask

在后台下载文件时,不会显示进度对话框。将文件上传到数据库后,活动保持原样,好像什么都没发生一样!文件上传时需要进度对话框。

public class MainActivity extends AppCompatActivity {
    ProgressDialog pd;

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == PICKFILE_REQUEST_CODE && resultCode == RESULT_OK && data != null && data.getData() != null){
            pd=new ProgressDialog(this);
            Common common=new Common();
            MyTask myTask=common.new MyTask(pd);

            myTask.execute();
        }
    }

的AsyncTask:

class MyTask extends AsyncTask<Void, Void, Void> {
    ProgressDialog pd;

    public MyTask(ProgressDialog pd) {
        this.pd = pd;
    }

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        pd.setMessage("Uploading . . .");
        pd.show();
        pd.setCancelable(false);
    }

    @Override
    protected Void doInBackground(Void... voids) {
        //download file
    }

    @Override
    protected void onPostExecute(Void aVoid) {
        super.onPostExecute(aVoid);
        pd.dismiss();
    }
}

我搜索了堆栈溢出的所有答案,但没有任何帮助我!任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

无论如何,

Progress Dialog已被弃用,可能您可以在xml中使用progress bar且可见性:已消失,当您即将开始下载时,将其可见性更改为可见,并在再次设置完成后再次设置它消失了