То, что я говорю, это использовать AsyncTask () .. показывать диалог ypur в preExecute () и отклонять в postexecute (); .. и код извлечения данных, который вы помещаете в задание backGround ... я имею в виду, как показано ниже ... это пример кода, который я использовал в своем проекте
класс Backgrountask расширяет AsyncTask
{
@Override
protected void onPostExecute(Object result) {
dialog.dismiss();
super.onPostExecute(result);
}
@Override
protected void onPreExecute() {
dialog = ProgressDialog.show(Mwfa.this, "",
"Loading. Please wait...", true);
super.onPreExecute();
}
@Override
protected Object doInBackground(Object... arg0) {
//your code
}
return null;
}
}
}