Я посмотрел на API Android и другие сообщения здесь на stackoverflow, но не смог понять это.
Мои файлы загрузок приложений к SD-карте. Я хотел бы вытолкать "загрузку..." диалоговое окно, в то время как файл загружает, и затем имейте его, исчезают, когда загрузка закончена. Это - то, что я придумал использование android API:
ProgressDialog pd = ProgressDialog.show(this,"","Loading. Please wait...",true);
//download file
pd.cancel();
однако диалоговое окно на самом деле не показывает. когда я отлаживаю его, это утверждает, что показывает, но это находится, очевидно, не на экране.
что я могу сделать?
Вы должны запустить код загрузки в отдельный поток. Самый простой способ - использовать AsyncTask
Посмотрите также эту статью о том, как его использовать
У меня несколько похожий сценарий, скорее пауза в загрузке уровня, пока все настраивается для фазы игры. Я запускаю диалог, запускаю загрузку уровня в потоке, которому передается контекст, и вызываю в конце потока следующее:
mContext.runOnUiThread(new Runnable(){
public void run() {
mContext.mProgressDialog.dismiss();
}
});
Я считаю метод runOnUiThread() чрезвычайно полезным.