Hallo, ich habe ein Problem mit ProgressDialog, das kein zweites Mal anzeigt, wenn Aktivität launchMode="SingleTask"
ist.Fortschrittsdialog wird nicht 2 mal angezeigt, wenn die Aktivität gestartet wird launchMode = "SingleTask"
Ich muss die Aktivität als SingleTask haben. Das erste Mal, dass ich auf die Schaltfläche klicke, wird der Dialog angezeigt, aber wenn ich die Aktivität schließe und sie erneut starte und auf die Schaltfläche klicke, wird die ProgressDialog
nicht erneut angezeigt.
Mein Code:
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();
}
}
und wenn die Schaltfläche i rufen Sie einfach diese geklickt wird:
new FakeTask(listener).execute(delay);
Im Manifest der spezifischen Activity
ich habe:
android:launchMode="singleTask"
Irgendwelche Vorschläge ? Ich weiß, dass, da die Aktivität nicht wirklich zerstört wird, Kontext an einen toten Dialog weitergegeben wird. Aber wie repariere ich den Dialog, der jedes Mal angezeigt wird?