Membuat Progress Dialog dalam Asynctask Android

Contoh Kasus:

Saya ingin melakukan perulangan dari 1 sampai 17 dengan jeda waktu 1000 milidetik dalam AsyncTask

Pertanyaan:

Bagaimana cara menampilkan angka persen dari progressnya seperti terlihat pada gambar dibawah ini:

Jawaban:

Kamu bisa membuat class untuk AsyncTask seperti dibawah ini:

private class bTask extends AsyncTask<Void, Integer, String>{ 

ProgressDialog loadingDialog;
int jmlData=17;

@Override
protected void onPreExecute() {

loadingDialog = new ProgressDialog(MainActivity.this);
loadingDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
loadingDialog.setMessage(“Processing. Please wait…”);
loadingDialog.setCancelable(false);
loadingDialog.setMax(100);
loadingDialog.show();

}

@Override
protected String doInBackground(Void… params) {

for(int i=1;i<=jmlData;i++){

publishProgress(i);

try{

Thread.sleep(1000);

}catch (Exception e) {

}

}

return “sukses”;

}

protected void onProgressUpdate(Integer… values) {

int persen=100/jmlData;
loadingDialog.setProgress(values[0]*persen);

}

protected void onPostExecute(String hasil){

loadingDialog.dismiss();
//Kode untuk menampilkan data

}

}

Keterangan:

  • publishProgress(i), Kode ini digunakan untuk memberikan nilai ke metode onProgressUpdate().
  • Untuk menjalankan class diatas maka kamu bisa memanggilnya dengan kode new bTask().execute().

Sekian dan Terima Kasih.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *