Pessoal, estou mostrando uma lista de uma chamada API, estou usando pagination, enfim criei a função que captura a próxima página quando da o scroll, como eu faço para atualizar a nova lista com o pagination?
AQUI O REPOSITORIO
class GitHubRepository {
private val api: GitHubApi = RetrofitServices.gitHubApi
suspend fun getListRepository(page: Int) =
withContext(Dispatchers.IO) { api.getRepositories(page) }
}
O FRAGMENTO
private fun setupObserver() {
viewModel.listRepository.observe(viewLifecycleOwner, ::onSuccess)
viewModel.fetchInformation(setupPagination())
}
private fun onSuccess(list: List<GitHubListVO>) = with(binding.recyclerView) {
initRecyclerView(list)
visibility = View.VISIBLE
}
private fun initRecyclerView(list: List<GitHubListVO>) = with(binding.recyclerView) {
layoutManager = LinearLayoutManager(requireContext())
setHasFixedSize(true)
adapter = GitHubListAdapter(list)
}
private fun setupPagination(): Int {
nestedScrollView = binding.nestedScrollView
val isPagination = true
if (isPagination) {
nestedScrollView.setOnScrollChangeListener(NestedScrollView.OnScrollChangeListener {
v, scrollX, scrollY, oldScrollX, oldScrollY ->
if (scrollY==v.getChildAt(0).measuredHeight -v.measuredHeight) {
++ pageCount
}
})
}
return pageCount
}