Я искал ответ на это в течение некоторого времени. У меня есть асинхронная задача, которая загружает базу данных, необходимую для моего приложения, пока это загружает мое приложение, которое ничего не может сделать, так как все данные, на которые оно ссылается, находятся в этом файле, у меня есть приложение, ожидающее загрузки файла, но я пытаюсь показать диалоговое окно прогресса, чтобы пользователь знал, что что-то происходит, пока он ждет этого.
мой код в настоящее время
public class fileDownloader extends AsyncTask<Void, Integer, SQLiteDatabase>
{
private File dbFile;
private ProgressDialog progressDialog;
private Context context;
private SQLiteDatabase database;
private SQLiteDatabase.CursorFactory factory;
public fileDownloader(Context c)
{
super();
context = c;
}
@Override
protected void onPreExecute()
{
super.onPreExecute();
progressDialog = new ProgressDialog(this.context);
progressDialog.setMessage("Downloading Database...");
progressDialog.setCancelable(false);
progressDialog.setIndeterminate(true);
progressDialog.show();
}
@Override
protected SQLiteDatabase doInBackground(Void... v)
{
....
}
@Override
protected void onPostExecute(SQLiteDatabase db1)
{
progressDialog.dismiss();
}
однако ничего не появляется, я также пробовал напрямую вызывать ProgressDialog.show в предварительном выполнении и безуспешно перемещать это в вызывающее действие.
пожалуйста помоги!