【发布时间】:2015-03-06 15:54:42
【问题描述】:
目前我正在使用以下代码来检查是否应该启用 SwipeRefreshLayout。
private void laySwipeToggle() {
if (mRecyclerView.getChildCount() == 0 || mRecyclerView.getChildAt(0).getTop() == 0) {
mLaySwipe.setEnabled(true);
} else {
mLaySwipe.setEnabled(false);
}
}
但这就是问题所在。当它滚动到另一个项目的视图边界时,mRecyclerView.getChildAt(0).getTop() 也返回 0。
有RecyclerView.isScrolledToBottom() 或RecyclerView.isScrolledToTop() 之类的吗?
编辑:(mRecyclerView.getChildAt(0).getTop() == 0 && linearLayoutManager.findFirstVisibleItemPosition() == 0) 有点像 RecyclerView.isScrolledToTop(),但是 RecyclerView.isScrolledToBottom() 呢?
【问题讨论】:
-
我想后者可以通过针对最后一个孩子验证 recyclerview 的底部来实现,即 mRecyclerView.getBottom()== linearLayoutmanager.findViewbyPosition(adapter.getItemCount() - 1 ).getBottom()
-
@Saren Arterius 你可能想看看this
标签: android android-recyclerview