RecyclerView.OnScrollListener onScrolled недостаточно быстро вызывается при быстрой прокрутке - PullRequest
0 голосов
/ 15 октября 2019

У меня проблема с RecyclerView.OnScrollListener, событие onScrolled вызывается недостаточно быстро при быстрой прокрутке. В любой момент времени во время прокрутки мне нужно знать первый видимый элемент в RecyclerView, чтобы рисовать на Canvas на основе информации, полученной из этого элемента. Однако при быстрой прокрутке большинство событий пропускаются. Однако проблема не возникает, если прокрутить RecyclerView со значительно меньшей скоростью. Я пробовал другие связанные с прокруткой события, но безуспешно.


            override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
                super.onScrolled(recyclerView, dx, dy)

                val position = (recyclerView.layoutManager as LinearLayoutManager).findFirstVisibleItemPosition()

                val shotMapItem = shotMapAdapter.dataSource?.get(position)

                viewModel?.let{
                    it.updateShotInfo(shotMapItem)
                    if (shotMapItem is ShotVm) {
                        set.add(position)
                        val team = if (shotMapItem.isHomePlayerShot) 0 else 1
                            shotMap.drawShot(shotMapItem.shotX, shotMapItem.shotY, team, shotMapItem.isGoal, shotMapItem.isReversed)


                    }

                }
            }
        })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...