我正在使用带有recylerview的无限卷轴,它正在底部加载产品,但总是加载更多调用我的页面从顶部开始而不是从底部开始。
我做错了吗?我使用https://gist.github.com/ssinss/e06f12ef66c51252563e作为无限卷轴,我的活动代码是:
recyclerView.setOnScrollListener(new EndlessRecyclerOnScrollListener(linearLayoutManager) {
@Override
public void onLoadMore(int current_page) {
String load_more_url = url + "&page=" + String.valueOf(current_page);
bottamProgressBar.setVisibility(View.VISIBLE);
productVolleyLoader = new ProductVolleyLoader(getApplicationContext(), load_more_url,productList,
myAdapter,bottamProgressBar, productRecyclerView);
productVolleyLoader.volleyLoader();
}
});
答案 0 :(得分:1)
非常抱歉这个愚蠢的问题。实际上我在凌空装载机中设置适配器而不是在那里我必须在onCreate
方法中设置适配器而在凌空装载器中我只需要使用notifyDataSetChanged();
。
之后滚动工作正常。
答案 1 :(得分:0)
在“onLoad”方法结束时,请致电:
mRecyclerView.smoothScrollToPosition(lastPosition);
如果每个项目都是RecyclerView中的子项,则使用mRecyclerView.getChildCount()
或类似内容从视图中获取最后一个位置。将它保存到开头的变量中,这样你就可以在加载前得到最后一个位置,然后在加载结束时滚动它。
答案 2 :(得分:0)
您要在旧列表中添加新值以加载更多内容。所以每次都有一个新的清单。 您必须以编程方式滚动到视图的最后位置。 当您要求加载更多时,保存位置并在加载列表时,以编程方式滚动到该位置。