1

サーバーから応答を受け取る 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();
        }
4

1 に答える 1

1

最初のタスクの前に表示Progress Dialogし、2 番目のタスクの後に閉じる

于 2013-11-11T14:18:40.423 に答える