我正在执行负责以下的ASync任务:
显示不确定的进度条。
从内存加载状态。
删除不确定的进度条。
开始新活动。
它能够完成第1步,第2步和第4步,但是当我使用后退按钮从步骤4中启动的活动返回到上一个活动时,不确定的进度条仍然存在!它阻止我做任何事情,并且无限期地保留在屏幕上(它不在ASync任务中,它只剩下进度条)。我在开始新活动之前使用setProgressBarIndeterminateVisibility(false)和setSupportProgressBarIndeterminateVisibility(false),所以我不确定它为什么要这样做。我甚至在onActivityResults中调用这两个方法只是为了安全!以下是我的异步任务,任何帮助将不胜感激!
public class LoadGameTask extends AsyncTask<Integer, Void, Void> {
@Override
protected Void doInBackground(Integer... params) {
Integer id = params[0];
try {
GameManager.getInstance().setGame(id);
}
catch(Exception e){
Log.e("loadingFriendly", e.getMessage());
}
return null;
}
@Override
protected void onPostExecute(Void result) {
setProgressBarIndeterminateVisibility(false);
setSupportProgressBarIndeterminateVisibility(false);
//display the new game
Intent intent = new Intent(offlineAct.this, gameAct.class);
startActivityForResult(intent, 5050);
}
@Override
protected void onPreExecute() {
setProgressBarIndeterminateVisibility(true);
setSupportProgressBarIndeterminateVisibility(true);
ProgressDialog.show(offlineAct.this,
"Loading Game", "This will take about 25 seconds.");
}
@Override
protected void onProgressUpdate(Void... values) {}
}
答案 0 :(得分:0)
必须在preExecute中创建的进度对话框中运行.dismiss