Как RecyclerView получает 1 дополнительный вид от адаптера при прокрутке

Snap 1:13 Views, когда начинается активность. http://imgur.com/0MmZjg0 Snap 2:14 Представления 1 вверху + 1 внизу. http://imgur.com/oPJAonm я новичок в Android и пытаюсь понять RecyclerView. Что делает Recycler, так это когда представление выходит из активности во время прокрутки, оно вызывает onBindViewHolder, который привязывает новые данные к существующему представлению, которое только что вышло из рамки активности. но пока мы прокручиваем активность, наступает момент, когда мы все еще можем видеть представление, выходящее за рамки действия (Преступление № 8 в Snap 2), а также можем видеть новое представление, которое будет создано с помощью В данном случае это Преступление № 8 (т. е. Преступление № 21 в Snap 2). Так что я смущен тем, что если предыдущий просмотрщик (Преступление № 8) еще не был повторно использован, как создается новый просмотрщик (Преступление № 21)?


person Himanshu Dabas    schedule 10.06.2016    source источник
comment
youtube.com/watch?v=LqBlYJTfLP4 Посмотрите это видео полностью. Это довольно хорошее объяснение   -  person gaara87    schedule 10.06.2016
comment
Он не использует держателей представления повторно. ИТ повторно использует представления. И он создает новые по мере необходимости, чтобы заполнить себя. Таким образом, если в начале вашего представления ресайклера есть место для двух представлений, а при прокрутке у него есть место для 3, оно создаст новое представление (с соответствующим держателем представления) для третьего представления.   -  person Gabe Sechan    schedule 10.06.2016


Ответы (1)


Он не удаляет старый, пока он действительно больше не нужен

Используйте метод getItem() ovverriden, чтобы понять, когда создается новый элемент :)

person Aftab Hussain    schedule 10.06.2016
comment
Хорошо, я понимаю, что он не будет просить адаптер заполнить новую информацию, пока ему больше не понадобится предыдущий ViewHolder. значит ли это, что он просит адаптер создавать дополнительный ViewHolder каждый раз, когда мы прокручиваем? - person Himanshu Dabas; 10.06.2016
comment
Что-то вроде. Допустим, вы листали вниз и видите слоты 3-9... Будет (точно не знаю, сколько загрузится), но предварительно загрузит, скажем, слоты 10-12 в память, но он будет держать слоты 0-2 до тех пор, пока ему не понадобится освободить память. - person Aftab Hussain; 10.06.2016