Я использую задачу Async для выполнения некоторых операций в моей базе данных. Во время операции я показываю диалог прогресса, и когда он заканчивается, я хочу отклонить его, но он не работает.Попытка отклонить прогресс Диалог
private ProgressDialog progressDialog;
private void showProgressDialog(String title, String message)
{
progressDialog = new ProgressDialog(this);
progressDialog.setTitle(title); //title
progressDialog.setMessage(message); // message
progressDialog.setCancelable(true);
progressDialog.show();
}
private class InsertFoodAsyncTask extends AsyncTask<Void, Integer, String>{
@Override
protected String doInBackground(Void... arg0){
InsertFood p = new InsertFood(Food.this,mBDD);
p.InsertFood();
return "Executed";
}
@Override
protected void onPreExecute() {
showProgressDialog("Please wait...", "Your message");
}
@Override
protected void onPostExecute(String result) {
if(progressDialog != null && progressDialog.isShowing())
{
progressDialog.dismiss();
}
}
}
Помогите мне? Большое спасибо !
Если не progressDialog.dismiss() можно назвать в основном потоке пользовательского интерфейса? – SparkyRobinson
@SparkyRobinson 'onPostExecute()' работает в основном потоке пользовательского интерфейса. –
Я только что протестировал этот код, и он отлично справился с тем, что у меня есть 'InsertFoodAsyncTask' как внутренний класс Activity. –