Android RecylerView EndlessScroller加载更多,跳到顶部

时间:2015-07-30 13:43:22

标签: android android-recyclerview

我正在使用带有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();
            }
        });

3 个答案:

答案 0 :(得分:1)

非常抱歉这个愚蠢的问题。实际上我在凌空装载机中设置适配器而不是在那里我必须在onCreate方法中设置适配器而在凌空装载器中我只需要使用notifyDataSetChanged();

之后滚动工作正常。

答案 1 :(得分:0)

在“onLoad”方法结束时,请致电:

    mRecyclerView.smoothScrollToPosition(lastPosition);

如果每个项目都是RecyclerView中的子项,则使用mRecyclerView.getChildCount()或类似内容从视图中获取最后一个位置。将它保存到开头的变量中,这样你就可以在加载前得到最后一个位置,然后在加载结束时滚动它。

答案 2 :(得分:0)

您要在旧列表中添加新值以加载更多内容。所以每次都有一个新的清单。 您必须以编程方式滚动到视图的最后位置。 当您要求加载更多时,保存位置并在加载列表时,以编程方式滚动到该位置。