Endless RecyclerView Loading 不停加载不滚动

Endless RecyclerView Loading keeps loading without scrolling

我有这种情况。我实现了 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);
            }
        });

我发现问题是 RecyclerView 有一个 NestedScrollView 作为父级。当我删除 NestedScrollView 时,这个问题就停止了。

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

删除 ScrollView 解决了我的问题!

顺便说一句:这只是在旧手机上测试时出现的问题...

已使用 Samsung Galaxy S3 进行测试 -> 您必须删除 ScrollView 使用 Samsung Galaxy S8 测试 -> 适用于 ScrollView