无限/无限滚动recyclerview

提取了帖子,但是将旧帖子替换为较​​新的帖子,即使它没有滚动到末尾,也下载了新列表,我想获取一页,而当我滚动到结束回收者视图时,我想要获取第2页,等等。我也想显示上一页

我的活动:

class MainActivity : AppCompatActivity() {
    lateinit var layoutManager: LinearLayoutManager
    var page = 0
    var isLoading = false

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        recyclerViewProducts.setHasFixedSize(true)
        layoutManager = LinearLayoutManager(this)
        recyclerViewPost.layoutManager = layoutManager
        getData(page)



        recyclerViewPost.addOnScrollListener(object : RecyclerView.OnScrollListener() {
            override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {

                val visibleItemCount = layoutManager.childCount
                val pastVisibleItem = layoutManager.findFirstCompletelyVisibleItemPosition()
                val total = 10

                if (!isLoading) {

                    if ((visibleItemCount + pastVisibleItem) == total) {
                        page++
                        getData(page)
                    }

                }    
                super.onScrolled(recyclerView, dx, dy)
            }
        })

    }



    private fun getData(page: Int){
        Api.getApi().getPosts(page).enqueue(object : Callback<PostList> {
            override fun onResponse(
                call: Call<PostList>, response: Response<PostList>
            ) {
                showData(response.body()!!)
            }

            override fun onFailure(call: Call<PosttList>, t: Throwable) {

            }

        })
    }

    private fun showData(products: ProductListResponse) {
        recyclerViewProducts.apply {
            adapter = ProductsAdapter(products, this@MainActivity)    
        }
    }

感谢帮助