机器人 - 如何检查回收视图是否是在顶部或不
问题描述:
我想用户刷卡刷新,所以我需要确保我在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。
答
你可以看看SwipeRefreshLayout,在这一切都为您处理,并提供刷卡做刷新传统的方式。见https://developer.android.com/reference/android/support/v4/widget/SwipeRefreshLayout.html
如果这是你wan't做什么。这是如何工作的:
检查这个http://stackoverflow.com/questions/26543131/how-to-implement-endless-list-with-recyclerview –