Здравствуйте, у меня возникла проблема с ProgressDialog, которая не отображается во второй раз, когда Activity имеет launchMode="SingleTask"
.Прогресс Диалог не отображается 2 раза, когда действие запускаетMode = "SingleTask"
У меня должна быть активность как SingleTask. в первый раз, когда я нажимаю кнопку, на которой отображается диалог, но когда я закрываю действие и запускаю его снова, и я нажимаю кнопку, то ProgressDialog
не отображается снова.
Мой код:
private class FakeTask extends AsyncTask<Integer, Void, Void>{
private FakeCallBackListener mListener;
FakeTask(FakeCallBackListener listener){
mListener = listener;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
mProgressDialog = new ProgressDialog(mContext);
mProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
mProgressDialog.setIndeterminate(true);
mProgressDialog.setMessage(mContext.getString(R.string.processing_data));
mProgressDialog.setCancelable(false);
mProgressDialog.setInverseBackgroundForced(true);
if (!((Activity)mContext).isFinishing()){
mProgressDialog.show();
}
}
@Override
protected Void doInBackground(Integer... params) {
try {
Thread.sleep(params[0]);
} catch (InterruptedException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
mProgressDialog.dismiss();
}
}
и когда кнопка нажата я просто называю это:
new FakeTask(listener).execute(delay);
В Manifest в конкретном Activity
я есть:
android:launchMode="singleTask"
Все предложения ? Я знаю, что, поскольку действие фактически не уничтожено, передается контекст в мертвый диалог. Но как я могу исправить диалог для отображения каждый раз?