我試圖實現一個功能作爲描述: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] –