Как мне загрузить больше в свой список RecyclerView, когда пользователь прокручивает ближе к низу?
Я смотрел эту страницу переполнения стека, но я все еще пытаюсь для реализации кода из ответа Kotlin в мой код.
Для лучшего идентификатора контекста, как вы, ребята, посмотрите мой предыдущий вопрос , это показывает вам, как я создал свой фрагмент в студии android (это было сделано нажатием на фрагмент (список) и выбором пустого фрагмента).
внутри моего onCreateView у меня есть этот фрагмент кода
view.list.addOnScrollListener(object : RecyclerView.OnScrollListener() {
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
super.onScrolled(recyclerView, dx, dy)
val contentHeight = view.list.height - (view.list.paddingTop + view.list.paddingBottom)
val distanceToBottom = view.list.computeVerticalScrollRange() - view.list.computeVerticalScrollOffset() - contentHeight
val metrics = DisplayMetrics()
activity!!.windowManager.getDefaultDisplay().getMetrics(metrics)
//val Measuredwidth = metrics.widthPixels
val Measuredheight = metrics.heightPixels
// everything looks like its in pixels. It is important that everything is one unit type to ensure accurate calculations
// Once this is all finished i will ask a question in stack overflow on how to ensure its one unit type
// using the screen height and timesing it by 2 to know when to load more data
if (Measuredheight * 2 > distanceToBottom) {
Toast.makeText(view.list.context, "Scrolling $distanceToBottom, this is the screen height excluding the nav bar in pixels " + Measuredheight + " more content needs to be loaded", Toast.LENGTH_SHORT).show()
// Load more function to be placed here
}
}
})
---------------------- Редактировать ---------------------
Я заглядывал в библиотеку подкачки и наткнулся на этот учебник , однако у меня все еще возникают проблемы с помещением кода во фрагмент. Это исходный код для учебника, так что это код, который я использовал в своем проекте .
То, что я думаю, я должен делать, находится внутри моего onCreateView, у меня есть чтобы разместить этот фрагмент кода
adapter = UserAdapter()
val itemViewModel = ViewModelProviders.of(view.list.context)
.get(UserViewModel::class.java)
itemViewModel.userPagedList.observe(view.list.context, Observer {
adapter.submitList(it)
})
list.adapter = adapter
Однако я получаю сообщения об ошибках, и некоторые из них кажутся устаревшими. Может ли кто-нибудь показать мне код, который мне нужно использовать, чтобы иметь RecyclerView внутри фрагмента, чтобы я мог принять их ответ.