检查nestedscrollview中的recyclelerview滚动状态

我在NestedScrollView中使用了recyclerview,我希望在滚动后将搜索栏固定到操作栏,并且必须在搜索栏下显示recyclelerview项目,我需要为我的recyclerview项目进行延迟加载(在滚动到结束后从服务器加载下一项)为此,我需要检查recyclerview滚动更改状态,当我在nestedscrollview中使用recyclelerview时,我无法做到这一点。 我尝试使用nestedscrollview滚动状态更改侦听器,它不会给我我想要的东西,也不能正常工作。

如果将嵌套滚动视图放在recyclerview中,则它不起作用。 我有懒惰加载recyclelerview但相同的布局包含其他布局,如滑块,菜单然后recyclerview。 我想滚动完整的布局,当recyclerview结束onscroll然后onload执行从Internet获取更多项目并加载recylerview。

在这里你看到我的代码:

我的布局xml代码

                                  

我的代码检查滚动状态,但它不起作用

  nested_content.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() { @Override public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) { if (scrollY  oldScrollY) { // down ((MainActivity)getActivity()).animateNavigation(true); } if (scrollY == ( v.getChildAt(0).getMeasuredHeight() - v.getMeasuredHeight() )) { if (!is_loading) { if (current_page < all_pages) { //not work right scroll state } } } } }); 

我得到了答案,如果有人有我的问题,请看下面…

检测nestedscrollview是否正确使用此代码:

 nested_content.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() { @Override public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) { if (scrollY < oldScrollY) { // up ((MainActivity)getActivity()).animateNavigation(false); } if (scrollY > oldScrollY) { // down ((MainActivity)getActivity()).animateNavigation(true); } View view = (View) nested_content.getChildAt(nested_content.getChildCount() - 1); int diff = (view.getBottom() - (nested_content.getHeight() + nested_content .getScrollY())); if (diff == 0) { if (merchantList.size()>0) { if (!is_loading) { if(current_page<=all_pages) { // nestedscrollview at end getMerchants(current_page); } } } } } });