андроид: показ диалогового окна прогресса

Я посмотрел на API Android и другие сообщения здесь на stackoverflow, но не смог понять это.

Мои файлы загрузок приложений к SD-карте. Я хотел бы вытолкать "загрузку..." диалоговое окно, в то время как файл загружает, и затем имейте его, исчезают, когда загрузка закончена. Это - то, что я придумал использование android API:

ProgressDialog pd = ProgressDialog.show(this,"","Loading. Please wait...",true);

//download file

pd.cancel();

однако диалоговое окно на самом деле не показывает. когда я отлаживаю его, это утверждает, что показывает, но это находится, очевидно, не на экране.

что я могу сделать?

8
задан mtmurdock 10 June 2010 в 18:36
поделиться

2 ответа

Вы должны запустить код загрузки в отдельный поток. Самый простой способ - использовать AsyncTask

Посмотрите также эту статью о том, как его использовать

3
ответ дан 5 December 2019 в 23:13
поделиться

У меня несколько похожий сценарий, скорее пауза в загрузке уровня, пока все настраивается для фазы игры. Я запускаю диалог, запускаю загрузку уровня в потоке, которому передается контекст, и вызываю в конце потока следующее:

mContext.runOnUiThread(new Runnable(){
    public void run() {
        mContext.mProgressDialog.dismiss();
    }
});

Я считаю метод runOnUiThread() чрезвычайно полезным.

2
ответ дан 5 December 2019 в 23:13
поделиться
Другие вопросы по тегам:

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