Подтвердить что ты не робот

Android - Загрузка, подождите

Есть ли стандартный диалог "Загрузка, пожалуйста, подождите", который я могу использовать в разработке Android, когда я вызываю несколько AsyncTask (например, загружая некоторые данные из удаленного сервиса)?

4b9b3361

Ответ 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 +, о которых вам следует знать - проверить это.