Je ne sais pas pourquoi mon code ne fonctionne pas. Je lis beaucoup de mêmes problèmes, mais dans la plupart des cas, c'est la bonne solution, mais pour moi, ça ne marche pas. Mon AsyncTask ressemble à ceci:Je ne peux pas arrêter ProgressDialog avec la méthode dismiss();
public class SavingAsync extends AsyncTask<String, String, String> {
private static final String TAG = "DrawView";
private ProgressDialog pd;
private Context context;
private File saveFile;
private Bitmap bitmap;
public SavingAsync(Context c, File sF, Bitmap b) {
context = c;
saveFile = sF;
bitmap = b;
}
@Override
protected void onPostExecute(String result) {
pd.dismiss();
super.onPostExecute(result);
}
@Override
protected void onPreExecute() {
pd = new ProgressDialog(context);
ProgressDialog.show(context, "", "Saving...");
super.onPreExecute();
}
@Override
protected String doInBackground(String... params) {
OutputStream stream;
try {
stream = new FileOutputStream(saveFile);
bitmap.compress(CompressFormat.PNG, 80, stream);
stream.close();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
Bitmap est enregistré avec succès, mais ProgressDialog courir pour toujours:/
consultez http://developer.android.com/reference/android/app/DialogFragment.html –