我有这种情况。我实施了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);
}
});
答案 0 :(得分:2)
我发现问题在于RecyclerView有一个NestedScrollView作为父级。当我删除NestedScrollView时,此问题已停止。
答案 1 :(得分:1)
如果您的布局中有<ScrollView>
(不仅是NestedScrollView
),原来这是一个问题。
删除ScrollView
为我解决了问题!
顺便说一句:在旧款手机上测试时,这只是一个问题...
使用三星Galaxy S3测试 - &gt;您必须删除ScrollView
用三星Galaxy S8测试 - &gt;适用于ScrollView