分页无法在Android recyclerview中正常运行

时间:2019-11-05 07:42:04

标签: android kotlin android-recyclerview pagination notifydatasetchanged

我在实现android中的分页行为时遇到问题。

面临的问题: 当我添加新的项目列表时,它会滚动到顶部项目。

我要避免recyclerview滚动到顶部,而必须添加新的项目列表。

我当前的代码如下:

with(recyclerview) {
                    layoutManager = LinearLayoutManager(MainApplication.appContext).apply {
                        bookingList.addAll(it.bookings as ArrayList<Upcoming>)
                        list = it
                        if (Adapter == null) {
                                adapter = Adapter(bookingList)
                                previouSize = it.bookings.size
                            }
                        } else {
                            val recyclerViewState =
                                recyclerview.layoutManager?.onSaveInstanceState()
                            adapter?.updateData(bookingList)
                            if (viewModel.pageNo > 1) {
                                adapter?.notifyItemRangeInserted(previouSize?.minus(1)!!, previouSize?.plus(it.size)!!)
                                previouSize = adapter?.itemCount
                            } else {
                                adapter?.notifyDataSetChanged()

                            }
                            recyclerview.layoutManager?.onRestoreInstanceState(recyclerViewState)
                        }
                    }

UpdateData函数:

fun updateData(upcoming: List<Upcoming>?) {
        list = upcoming!!
    }

我尝试使用notifyDatasetChangednotifyItemRangeInsertednotifyItemRangeChangednotifyItemInsertednotifyItemChanged进行任何操作。我也尝试过删除onSaveInstanceState上的onRestoreInstanceState

请帮助我解决此问题。

0 个答案:

没有答案