我的应用会生成一个AsyncTask
,这可能会耗费大量时间。因此,AsyncTask
取消隐藏进度条:
@Override
protected void onPreExecute() {
progressBar.setProgress(0);
progressBar.setVisibility(View.VISIBLE);
}
(progressBar
在构造函数中初始化。)计算完成后重新隐藏进度条:
@Override
protected void onPostExecute(String result) {
progressBar.setVisibility(View.GONE);
// ...
}
我想更改应用程序,以便同时运行其中一些任务(对于多个核心来说很好!)。问题在于,使用此设计时,第一个AsyncTask
会隐藏进度条,即使还有其他几个任务仍在运行。
只有最后一个任务执行操作或在我调用的所有任务完成后执行操作的最佳方法是什么?
答案 0 :(得分:2)
我在onPreExecute中使用一个简单的计数器递增,在onPostExecute上递减。如果计数器达到0,则隐藏进度条。