This is what noticed: When it starts, the data item index 0, 1, ..., 5 are displayed in the view. And saw the onCreateViewHolder() and onBindViewHolder() got called for them. Then scroll out the top item, and saw the the onCreateViewHolder() and onBindViewHolder() got called for the index 6. Then scroll down to bring back the item index 0 into view. Since it was not recycled so no onBindViewHolder() is called. This is what noticed: When it starts, the data