Используя RecyclerView LayoutManager
, вы можете найти firstVisibleItemPosition
& firstCompletelyVisibleItemPosition
и аналогично последние.
Когда элемент начинает воспроизведение видео (при условии, что вы написали реализацию в ViewHolder
class), вы можете найти позицию игрового элемента по getAdapterPosition
там. Используйте глобальную переменную для поддержания этой currentlyPlaying
позиции элемента (возможно, в вашем классе фрагмента / активности, откуда вы устанавливаете адаптер), вы можете отправить позицию для просмотра класса через интерфейсный слушатель.
Теперь всякий раз, когда прокручивая, вы можете проверить, находится ли позиция текущего воспроизводимого элемента в диапазоне видимых элементов. Если да, вы можете позвонить по номеру adapter.notifyItemChanged(currentlyPlaying, true)
, чтобы приостановить / остановить проигрыватель. true
- это настраиваемое логическое значение, которое вы можете отправить на свой адаптер, которое может быть перехвачено внутри OnBindViewHolder
с аргументом payloads
, чтобы переключить состояние воспроизведения видео.