Я новичок в программировании, и я боролся с этим в течение нескольких дней и не могу заставить его работать.Обновление фотографии с задержкой
У меня есть цикл для выполнения некоторых задач. Он отобразит изображение в ImageView
для этой конкретной задачи. Так что выходит что-то вроде этого:
- setImageResource
- сделать какую-то задачу
- подождите 1 второй
- затем начать все снова, пока команды не закончится
- , когда все команды конца, закрыть эту активность, call finish()
Я попытался использовать обработчик с runnable и asynctask, но я не могу заставить его работать. Пользовательский интерфейс всегда обновляется позже, чем 1 секунда. Когда я заканчиваю() после того, как команды заканчиваются, фотография кажется совсем не отображаемой.
for(int i=0; i<actions.size(); i++) {
switch((int)actions.get(i)[0]) {
case 0:
ivActionIcon.setImageResource(R.drawable.image);
sleeping=true;
DelayAsyncTask delay=new DelayAsyncTask();
delay.execute();
while(sleeping){};
break;
}
}
finish();
class DelayAsyncTask extends AsyncTask<String, Void, Bitmap> {
@Override
protected Bitmap doInBackground(String... params) {
try {
Thread.sleep(5000);
} catch(Exception e){
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Bitmap bitmap) {
sleeping=false;
}
}
Я использую переменную «спать», чтобы основной поток мог ждать задержки.
Просьба указать соответствующий код и любые ошибки logcat. – Sam