异步任务和进度栏

时间:2019-06-04 15:29:53

标签: android asynchronous progress

我有两个异步任务。假设A和B。首先执行A,然后在执行后调用B。现在,我需要在任务B结束后显示进度栏。就像从A的0开始到B的100结束的百分比一样。

2 个答案:

答案 0 :(得分:1)

onPreExecuteonProgressUpdate中来自asynctask A:

  @Override
    protected void onPreExecute() {
        super.onPreExecute();
        //show progress bar

    }
    @Override
    protected void onProgressUpdate(Integer... progress) {
     ProgressBar.setProgress(progress[0]/2)//we will take only 50% of the progress
    }

在您的onPostExecuteonProgressUpdate在异步任务B中

    @Override
    protected void onProgressUpdate(Integer... progress) {
    ProgressBar.setProgress(progress[0]/2)//we will take the other  50% of the progress
    }
    @Override
    protected void onPostExecute(String result){
    //hide progress here
    } 

请确保将进度条设置为本地,以便您既可以通过asynctask进行访问

答案 1 :(得分:0)

AsyncTasks中,您可以在onProgressUpdateonPostExecute回调中更新UI。这两个回调在主(UI)线程中运行,而doInBackground worker 线程中运行。

为了使“ {B}”进度条在完成AsynctaskA之后显示,我将在AsyncTaskB的{​​{1}}回调中启动onPostExecute,然后进行更新进度条B在其AsyncTaskA回调

onProgressUpdate