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