Я пытался реализовать функцию как описание: каждый элемент в RecyclerView будет удален через 5 секунд. Мой код, как показано ниже:Извлечение элемента в RecyclerView
new CountDownTimer(60000, 1000) {
@Override public void onTick(long l) {
Log.v(TAG, "Ticking: " + l);
for (int i = 0, dataLength = mComments.size(); i < dataLength; i++{
RoomMessage item = mComments.get(i);
// item.timeRemaining initial value is 5000
item.timeRemaining -= 1000;
if (item.timeRemaining <= 0) {
mComments.remove(i);
notifyItemRemoved(i);
}
}
}
@Override public void onFinish() {
start();
}
}.start();
В приложение падает с сообщением об ошибке говорит как java.lang.IndexOutOfBoundsException: Index: 4, Size: 4
Что было не так?
вы можете предоставить полный отчет? –
Если ваш размер 4, ваш индексный диапазон равен [0, 3]. Вы не можете удалить то, что не добавлено в список. – adnbsr
@adnbsr Да, и я уверен, что диапазон находится в [0..3] –