Sie können etwas tun ..
public static final int DIALOG_DOWNLOAD_PROGRESS = 0;
private ProgressDialog mProgressDialog;
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DIALOG_DOWNLOAD_PROGRESS:
mProgressDialog = new ProgressDialog(this);
mProgressDialog.setMessage("waiting 5 minutes..");
mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
mProgressDialog.setCancelable(false);
mProgressDialog.show();
return mProgressDialog;
default:
return null;
}
}
Dann eine async Aufgabe schreiben Fortschritt zu aktualisieren ..
private class DownloadZipFileTask extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
showDialog(DIALOG_DOWNLOAD_PROGRESS);
}
@Override
protected String doInBackground(String... urls) {
//Copy you logic to calculate progress and call
publishProgress("" + progress);
}
protected void onProgressUpdate(String... progress) {
mProgressDialog.setProgress(Integer.parseInt(progress[0]));
}
@Override
protected void onPostExecute(String result) {
dismissDialog(DIALOG_DOWNLOAD_PROGRESS);
}
}
Diese Ihren Zweck lösen sollte und es nicht sogar UI Profilblock ..
Mit 'setProgress()' können Sie den Fortschritt beliebig einstellen. Rufen Sie es einfach an, wenn Sie es aktualisieren möchten. – Geobits
Wenn es eine festgelegte Zeit ist, eine falsche Fortschrittsbalken machen .. Vielleicht ein Gif, das 5 Minuten dauert. – NightSkyCode
Aus den Dokumenten für 'AsyncTask' ... **" AsyncTasks sollte idealerweise für kurze Operationen (höchstens ein paar Sekunden) verwendet werden. "** - Sie sollten wirklich nicht eine 5-minütige' AsyncTask' laufen lassen. – Squonk