Bu genellikle Belirsiz İlerleme Çubuğu veya Belirsiz İlerleme İletişim Kutusu olarak adlandırılır.
Tam olarak ne istediğinizi elde etmek için bunu bir İş Parçacığı ve İşleyici ile birleştirin . Bunu Google üzerinden veya doğrudan SO üzerinden nasıl yapacağınıza dair birkaç örnek vardır. Böyle bir görevi gerçekleştirmek için sınıfların bu kombinasyonunu nasıl kullanacağınızı öğrenmek için zaman harcamanızı şiddetle tavsiye ederim. Birçok uygulama türü için inanılmaz derecede faydalıdır ve Konuların ve İşleyicilerin birlikte nasıl çalışabileceği konusunda size harika bir fikir verecektir.
Bunun nasıl çalıştığına başlayacağım:
Loading olayı iletişim kutusunu başlatır:
//maybe in onCreate
showDialog(MY_LOADING_DIALOG);
fooThread = new FooThread(handler);
fooThread.start();
Şimdi iş parçacığı çalışır:
private class FooThread extends Thread {
Handler mHandler;
FooThread(Handler h) {
mHandler = h;
}
public void run() {
//Do all my work here....you might need a loop for this
Message msg = mHandler.obtainMessage();
Bundle b = new Bundle();
b.putInt("state", 1);
msg.setData(b);
mHandler.sendMessage(msg);
}
}
Son olarak, tamamlandığında durumu iş parçacığından geri alın:
final Handler handler = new Handler() {
public void handleMessage(Message msg) {
int state = msg.getData().getInt("state");
if (state == 1){
dismissDialog(MY_LOADING_DIALOG);
removeDialog(MY_LOADING_DIALOG);
}
}
};