Существует ли стандарт "Загрузка, ожидайте" диалоговое окно, которое я могу использовать в разработке Android, когда я вызываю некоторый AsyncTask (загружающий некоторые данные из удаленного сервиса, например)?
] Вы имеете в виду что-то вроде неопределенного [] Диалога прогресса []? [
] [] Редактирование: т.е. [
] [ProgressDialog dialog = ProgressDialog.show(context, "Loading", "Please wait...", true);
]
[] затем вызовите [] dialog.dismiss()[
], когда все будет готово.[
Мирко в принципе прав, однако следует отметить две вещи:
ProgressDialog.show()
- это ярлык, который автоматически создает диалог. В отличие от других диалогов, его НЕ следует использовать в onCreateDialog()
, так как это приведет к ошибкам в Android 1.5.
Есть еще несколько проблем с AsyncTask + ProgressDialog + изменением ориентации экрана, о которых вы должны знать - проверьте это.
Если вы реализуете 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);