我有一个从服务器获取响应的AsyncTask。当我得到响应时,我通过调用另一个类的函数来更新数据库。
dbHandler = new DbHandler(getApplicationContext());
new updateDb().execute("ZON", "obtenerCSVzonas");---first call to AsyncTask
new updateDb().execute("CLI", "obtenerCSVclientes");---second call to AsyncTask
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
if (update == zoneList)
dbHandler.CreateZoneEntry(resultString);
else if (update == custList)
dbHandler.CreateCustEntry(resultString);
progDailog.dismiss();
}
这里onPostexecute方法调用更新数据库的函数。
我的问题是即使功能完成,progressDialog仍会显示。它不会消失。
声明
public class SelectionMenu extends Activity {
TextView SelectionHeader;
ImageButton ShoppingList;
ImageButton Clients;
String uid;
String pass;
ProgressDialog progDailog;
初始化
private class updateDb extends AsyncTask<String, String, String> {
protected void onPreExecute() {
super.onPreExecute();
jsn = new JSONObject();
header = new JSONObject();
para = new ArrayList<NameValuePair>();
progDailog = new ProgressDialog(SelectionMenu.this);
progDailog.setMessage("UPDATING DATABASE");
progDailog.show();
}
答案 0 :(得分:1)
在第一个任务之前显示Progress Dialog
,在第二个任务之后将其解雇