当我的应用程序启动一个文件刮板,它递归地遍历sdcard就会被启动。正如你所能想象的,这需要相当长的时间。在我的epad转换器上,通过32 of的存储闪电战需要30到40秒的时间。
此活动由两个片段完成,它们位于主布局上,从主活动中启动。
显然,在加载时间这样的情况下,我需要做一些事情来提醒用户。然而,根据我所读到的,我无法在后台启动加载屏幕后面的主要活动。我试着放下一个进度条,但也失败了。
有什么建议吗?
编辑
我只是在阅读如何在片段中使用aSyncTask。我想使用一个进度条,或者在缓慢列表片段中,或者在屏幕上,或者仅仅在主视图上。
发布于 2012-06-13 22:29:55
做这样的事
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();https://stackoverflow.com/questions/11022875
复制相似问题