无尽的RecyclerView加载保持加载而不滚动

时间:2017-02-28 20:27:32

标签: android android-recyclerview infinite-scroll

我有这种情况。我实施了endless scrolling with RecyclerView。通常情况下,如果当前滚动位置下方只有5个项目,则会加载新项目,但事实并非如此。

相反,只要从API加载第一组项目,就会发送另一个项目(不滚动),接收和解析。之后又发送了另一个请求(仍然没有滚动)并进行了解析。此过程将继续(不滚动),直到退出应用程序。

我的RecyclerView

 mLayoutManager = new LinearLayoutManager(getActivity());
 recyclerView.setLayoutManager(mLayoutManager);
 recyclerView.setItemAnimator(new FadeInLeftAnimator());
 recyclerView.setNestedScrollingEnabled(false);
 adapter = new PostAdapter(mPostItemList, getActivity());
 recyclerView.setAdapter(adapter);

recyclerView.addOnScrollListener(new EndlessRecyclerViewScrollListener( mLayoutManager) {
            @Override
            public void onLoadMore(final int page, int totalItemsCount, RecyclerView view) {
                Log.w(TAG, "onLoadMore called");
                morePostsUrl = postUrl + "&page=" + page;
                getMorePostArray(morePostsUrl, true, false);
            }
        });

2 个答案:

答案 0 :(得分:2)

我发现问题在于RecyclerView有一个NestedScrollView作为父级。当我删除NestedScrollView时,此问题已停止。

答案 1 :(得分:1)

如果您的布局中有<ScrollView>(不仅是NestedScrollView),原来这是一个问题。

删除ScrollView为我解决了问题!

顺便说一句:在旧款手机上测试时,这只是一个问题...

使用三星Galaxy S3测试 - &gt;您必须删除ScrollView 用三星Galaxy S8测试 - &gt;适用于ScrollView