Для того же, вы можете реализовать концепцию AsyncTask , которая является очень предпочтительной в Android для реализации задачи многопоточности, реализуя эту задачу, сама система обрабатывает задачу многопоточности, такую как start, run, stop. ...так далее. и именно поэтому он известен как безболезненная резьба .
Если вы прошли по ссылке AsyncTask , то я уверен, что вы заметили эти 4 метода AsyncTask.
Для вашей проблемы вы можете реализовать AsyncTask, как показано ниже:
- onPreExecute () - Показать диалоговое окно хода выполнения
- doInBackground () - реализовать все долгосрочные задачи
- onPostExecute () - закрывать диалог прогресса, вызывая
dialog.dismiss();
Я уверен, что ты понял это сейчас.
Всего наилучшего.
Обновление:
вам просто нужно написать метод Dialog.Show () внутри метода onPreExecute () и dialog.dismiss () внутри метода onPostExecute (). И да, я говорил 1000 раз, что вы не можете написать Toast непосредственно в методе doInBackground (), потому что Android не позволяет работать в основном потоке, и если вы все еще хотите его выполнить, напишите то же самое сообщение Toast внутри Метод runOnUiThead (этот метод должен быть внутри doInBackground ().