机器人 - 如何检查回收视图是否是在顶部或不

机器人 - 如何检查回收视图是否是在顶部或不

问题描述:

我想用户刷卡刷新,所以我需要确保我在recycleview。这顶是我的代码:机器人 - 如何检查回收视图是否是在顶部或不

LinearLayoutManager mLayoutManager; 
recycle = (RecyclerView) findViewById(R.id.recycle); 
     mLayoutManager = new LinearLayoutManager(this); 
     recycle.setLayoutManager(mLayoutManager); 

recycle.addOnScrollListener(new RecyclerView.OnScrollListener() { 
      boolean enable = false; 

      @Override 
      public void onScrolled(RecyclerView recyclerView, int dx, int dy) { 
       super.onScrolled(recyclerView, dx, dy); 

       if(recycle != null && mLayoutManager.getChildCount() > 0){ 
        boolean firstItemVisible = mLayoutManager.findFirstVisibleItemPosition() == 0; 
        boolean topOfFirstItemVisible = mLayoutManager.getChildAt(0).getTop() == 0; 
        Log.v("this",firstItemVisible + " "+topOfFirstItemVisible); 
        //boolean topOfFirstItemVisible = recycle.getChildAt(0).getTop() == 0; 
        enable = firstItemVisible && topOfFirstItemVisible; 
       } 
       mSwipeRefreshLayout.setEnabled(enable); 

      } 
     }); 
    } 

,你可以看到,我使用的是一个布尔值,我想检查是否recycleView是在顶部,那么它使swifeLayout。

我该怎么做?此代码不工作,当我在recycleView的顶部时,它不启用swipeLayout。

+0

检查这个http://stackoverflow.com/questions/26543131/how-to-implement-endless-list-with-recyclerview –

你可以看看SwipeRefreshLayout,在这一切都为您处理,并提供刷卡做刷新传统的方式。见https://developer.android.com/reference/android/support/v4/widget/SwipeRefreshLayout.html

如果这是你wan't做什么。这是如何工作的:

https://www.bignerdranch.com/img/blog/2014/12/catnames.gif