I am trying to access the underlying data from a recyclerview item when it scrolls onto the screen.
I am using onAttachedToRecyclerView() inside my Adapter class. Then get the data within onScrolled().
Here is what I have so far:
    override fun onAttachedToRecyclerView(recyclerView: RecyclerView) {
    super.onAttachedToRecyclerView(recyclerView)
    val manager = recyclerView.layoutManager
    Log.i("ProductAdapter","$manager")
    if (manager is StaggeredGridLayoutManager) {
        val slm: StaggeredGridLayoutManager = manager
        recyclerView.addOnScrollListener(object : RecyclerView.OnScrollListener() {
            override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
                super.onScrolled(recyclerView, dx, dy)
                val firstVisibleItemPosition: Int
                val firstVisibleItemPositions =
                    slm.findFirstVisibleItemPositions(null)
                firstVisibleItemPosition = firstVisibleItemPositions[0]
                if (firstVisibleItemPosition > -1) {
                    val item = getItem(firstVisibleItemPosition))
                    // do stuff with item data
                }
            }
        })
    }else{
        Log.e("ProductAdapter","error")
    }
}
when I set val manager = recyclerView.layoutManager, manager ends up being null. So the first if check never passes.  My code is referencing this answer from another question.
Any ideas on how to fix this?