我在实现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!!
}
我尝试使用notifyDatasetChanged
,notifyItemRangeInserted
,notifyItemRangeChanged
,notifyItemInserted
,notifyItemChanged
进行任何操作。我也尝试过删除onSaveInstanceState
上的onRestoreInstanceState
。
请帮助我解决此问题。