当我的应用程序启动文件剪贴板时,通过sdcard递归迭代开始。可以想象,这需要相当长的时间。在我的epad变换器上,通过32GB的存储空间闪电可能需要30到40秒。
此活动以两个片段完成,这些片段位于主要布局上,从主要活动启动。
显然,加载时间就像我需要做一些事情来提醒用户。但是,根据我的阅读,我无法在加载屏幕后面的后台启动主要活动。我试图删除进度条,但也失败了。
那么,有什么建议吗?
修改
我刚刚开始在片段中使用aSyncTask。我很乐意使用进度条,无论是在慢速列表片段中,还是在闪屏上,或者只是在主视图上方
答案 0 :(得分: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();