RecyclerView:在将第一项移动到末尾后禁用滚动到末尾

时间:2021-04-07 12:03:51

标签: android android-recyclerview

如果第一项移动到列表的末尾,recyler 滚动到末尾。但是,如果第二个元素移动到最后——在这种情况下什么也不会发生。我想在第一种情况下禁用滚动以实现统一行为。

1 个答案:

答案 0 :(得分:0)

我能找到的最佳解决方案是覆盖 onLayoutChildrenLayoutManager

override fun onLayoutChildren(
            recycler: RecyclerView.Recycler?,
            state: RecyclerView.State?
        ) {
            val state1 = onSaveInstanceState()
            super.onLayoutChildren(recycler, state)
            onRestoreInstanceState(state1)
        }

看起来是问题的根源在 androidx.recyclerview.widget.LinearLayoutManager#updateAnchorFromChildren