Я пытаюсь добавить некоторое время сна в свою Asynctask, потому что прямо сейчас мой ProgressDialog слишком быстр, когда загружается не так много данных.Ошибка при использовании Thread.sleep в Asynctask
Я попытался это:
@Override
protected Boolean doInBackground(Void... params) {
try {
progressDialog.setMessage("Loading first thing...");
firstThing();
progressDialog.incrementProgressBy(1);
Thread.sleep(500);
//...repeat above four lines a few times for second, third, fourth thing, etc
return true;
}
catch (Exception e) {
Log.e("MyClassName", "There was an error: " + e);
return false;
}
}
Я получаю сообщение об ошибке «Только оригинальный поток, созданный вид может коснуться его точки зрения.»
Вы обновляете пользовательский интерфейс вне основной темы Android. DoInBackground запускается в другом потоке, поэтому вы не можете обновлять представления. Итак, если вы хотите обновить представление, вы должны использовать onPreExectute, onPostExecture или onProgressUpdate. Проверьте https://developer.android.com/reference/android/os/AsyncTask.html – AndroidRuntimeException
У меня есть переопределенные, да, я просто не публиковал их здесь – KaliMa