0

当我的应用程序启动一个通过 sdcard 递归迭代的文件抓取器时,就会启动。可以想象,这需要相当长的时间。在我的 epad 变压器上,它可能需要 30 到 40 秒才能快速通过 32gb 的存储空间。

此活动在两个片段中完成,这些片段位于主布局上,从主活动启动。

显然,在这样的加载时间下,我需要做一些事情来提醒用户。但是,根据我的阅读,我无法在加载屏幕后面的后台启动主要活动。我试图放下一个进度条,但也失败了。

那么,有什么建议吗?

编辑

我只是在阅读在片段中使用 aSyncTask 的内容。我很想在慢速列表片段中、启动屏幕上或主视图上方使用进度条

4

1 回答 1

0

做这样的事情

LoadTask load;

public class LoadTask extends AsyncTask<Void, Integer, Boolean> {

        int prog = 0;

        @Override
        protected Boolean doInBackground(Void... params) {

            //All your loading code goes in here 

            publishProgress(prog++); //Use this to update the progress bar

            publishProgress(-1) //Use this to open other app
            return false;
        }

        protected void onProgressUpdate(Integer... progress) {
             if(progress[i] == -1)
                 //open other app here

             for(int i = 0; i < progress; i++){
                  //set progress here with progress[i];
             }
        }


}

然后开始异步任务使用

load = new LoadTask();
load.execute();
于 2012-06-13T22:29:55.787 回答