Есть ли стандартный диалог "Загрузка, пожалуйста, подождите", который я могу использовать в разработке Android, когда я вызываю несколько AsyncTask (например, загружая некоторые данные из удаленного сервиса)?
Android - Загрузка, подождите
Ответ 1
Вы имеете в виду что-то вроде неопределенного ProgressDialog?
Изменить: i.e.
ProgressDialog dialog = ProgressDialog.show(context, "Loading", "Please wait...", true);
затем вызовите dialog.dismiss()
, когда закончите.
Ответ 2
Если вы реализуете runnable, а также расширяете Activity, вы можете обрабатывать код, подобный этому...
private ProgressDialog pDialog;
public void downloadData() {
pDialog = ProgressDialog.show(this, "Downloading Data..", "Please wait", true,false);
Thread thread = new Thread(this);
thread.start();
}
public void run() {
// add downloading code here
handler.sendEmptyMessage(0);
}
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
pDialog().dismiss();
// handle the result here
}
};
Стоит отметить, что вы можете установить представление содержимого диалогового окна прогресса, чтобы вы могли отображать пользовательское сообщение/изображение:)
pDialog.setContentView(R.layout.X);
Ответ 3
Мирко в основном правильный, однако есть две вещи, которые следует отметить:
-
ProgressDialog.show()
- это ярлык, который автоматически создает диалог. В отличие от других диалогов, его НЕ следует использовать вonCreateDialog()
, так как это вызовет ошибки в Android 1.5. -
Ниже перечислены некоторые проблемы с изменениями ориентации экрана AsyncTask + ProgressDialog +, о которых вам следует знать - проверить это.