NotifyDataSetChanged之后,NestedScrollView内部的RecyclerView保持滚动-问题

时间:2019-05-22 05:19:58

标签: android

我在NestedScrollView中添加了RecyclerView。在“首先尝试从服务器获取数据并在UI上呈现”中,此后还要添加滚动侦听器。这对我来说很好。

问题是当我滚动到NestedScrollView的底部时,另一个Server调用以获取更多数据,将数据添加到列表中后,我调用了notifydataSetchanged。但是这次刷新数据后NestedScrollView继续自动滚动。

看起来像:
1)最后滚动到底部先暂停
2)调用服务器API后刷新列表
3)暂停滚动,现在自动恢复。

这是我的滚动侦听器:

 nested_scroll_layout.getViewTreeObserver().addOnScrollChangedListener(new 
   ViewTreeObserver.OnScrollChangedListener() {
        @Override
        public void onScrollChanged() {
            View view = 
    nested_scroll_layout.getChildAt(nested_scroll_layout.getChildCount() - 1);

            int diff = (view.getBottom() - (nested_scroll_layout.getHeight() 
    + nested_scroll_layout
                    .getScrollY()));

            if (diff == 0 && !isCommentaryLoading) {
                isCommentaryLoading = true;
                hitCommentryApi(true);
            }
        }
    });

====================================

API成功响应后,将数据添加到当前列表中。

then `commentaryAdapter.notifyDataSetChanged();`

0 个答案:

没有答案