当从回收站中删除项目时,onScrolled返回dy 0

时间:2019-09-27 17:51:37

标签: android android-recyclerview scroll

在我的代码中,我发送了Recyclerview的垂直偏移量以对其进行一些处理。当我删除recyclerview的底部项目时,就会发生问题。在那一刻,Recyclerview“移动”,但是即使我的recyclerview确实改变了位置,我的overridean onScrolled函数仍返回dy = 0。我尝试了recyclerview.computeVerticalScrollOffset,但它返回了一些奇怪的值...

这是我的scrollListener:

private void setScrollListener() {
        elementsRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
                super.onScrollStateChanged(recyclerView, newState);
            }

            @Override
            public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
                super.onScrolled(recyclerView, dx, dy);
                tagConnections.setOffset(dy);
            }
        });
    }

当我删除演示者中的项目时,我会做出:

elementList.remove(adapterPosition);

在我的活动中,我这样做:

 elementsAdapter.notifyItemRemoved(adapterPosition);  

在删除项目时具有很好的行移动性。 任何想法,即使在删除底部元素的过程中,也如何保持更新偏移量。 (当我删除不在底部的元素时,一切都很好)

0 个答案:

没有答案