当两次调用其他函数时,ProgresDialog不会忽略onPostExecute

时间:2013-11-11 14:12:32

标签: android android-asynctask progressdialog

我有一个从服务器获取响应的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();
        }

1 个答案:

答案 0 :(得分:1)

在第一个任务之前显示Progress Dialog,在第二个任务之后将其解雇