我有一个像这样的视图结构:
NestedScrollView
RecyclerView
我实施了分页。问题是RecyclerView
不能正常工作,因为NestedScrollView
(所有的recyclerview项目都是同时绑定的)。我解决了这个问题:
@Override
public void onScrollChanged() {
int loaderItemPosition = mRecyclerView.getChildCount() - 1;
View view = mNestedScrollView.getChildAt(mNestedScrollView.getChildCount() - 1);
int diff = (view.getBottom() - (mNestedScrollView.getHeight() + mNestedScrollView.getScrollY()));
if (diff == 0) {
mNestedScrollView.scrollTo(0, 0);
load();
}
}
问题是,如果用户“轻弹”(从上到下快速滚动),滚动弹出到底部列表(它可以滚动到它,将是更正确的说法)。我试图用mNestedScrollView.scrollTo(0, 0);
来阻止它。想法是在load();
被击中时停止滚动。如果我慢慢滚动,一切都很好,但即使是现在,滚动似乎有点滞后。
有没有办法在load();
被击中时停止滚动而不允许滚动超过该位置(当用户轻弹时)?
答案 0 :(得分:0)
在您的recyclerview中添加android:descendantFocusability="blocksDescendants"
。希望这个帮助