Я хочу установить время задержки между каждым из моих пунктов повторного просмотра. У меня есть список конкретной временной задержки, которую я хочу для каждого элемента. Теперь, используя следующий код, он работает хорошо для меньшего количества элементов, но если есть 15-20 элементов, то несколько элементов будут запущены одновременно. Я предполагаю, что это потому, что, поскольку другие элементы не отображаются, он рассматривает их как первый элемент и запускает таймер.
holder.timer.postDelayed(new Runnable() {
@Override
public void run() {
new CountDownTimer((long) (time.get(holder.getAdapterPosition()) * 60000), 1000) {
public void onTick(long millisUntilFinished) {
//timer.setText("minutes remaining: " + millisUntilFinished);
//here you can have your logic to set text to edittext
holder.timer.setText("" + String.format(FORMAT,
TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished) - TimeUnit.HOURS.toMinutes(
TimeUnit.MILLISECONDS.toHours(millisUntilFinished)),
TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) - TimeUnit.MINUTES.toSeconds(
TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished))));
}
public void onFinish() {
holder.timer.setText("done!");
}
}.start();
}
}, delay* 60000);
Теперь это хорошо работает для 4-5 элементов, но для 10-15 элементов, когда яПрокрутите таймер 2 или 3 элемента одновременно, вместо того, чтобы ждать завершения предыдущего элемента