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

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

27
задан nikib3ro 30 December 2009 в 16:48
поделиться

3 ответа

[

] Вы имеете в виду что-то вроде неопределенного [] Диалога прогресса []? [

] [

] Редактирование: т.е. [

] [
ProgressDialog dialog = ProgressDialog.show(context, "Loading", "Please wait...", true);
] [

] затем вызовите [] dialog.dismiss()[], когда все будет готово.[

].
74
ответ дан 28 November 2019 в 04:07
поделиться

Мирко в принципе прав, однако следует отметить две вещи:

  1. ProgressDialog.show() - это ярлык, который автоматически создает диалог. В отличие от других диалогов, его НЕ следует использовать в onCreateDialog(), так как это приведет к ошибкам в Android 1.5.

  2. Есть еще несколько проблем с AsyncTask + ProgressDialog + изменением ориентации экрана, о которых вы должны знать - проверьте это.

10
ответ дан 28 November 2019 в 04:07
поделиться

Если вы реализуете 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); 
19
ответ дан 28 November 2019 в 04:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: