【发布时间】:2016-10-28 00:27:45
【问题描述】:
是否可以检查 ScrollView 是否一直滚动到顶部?
我想检查一下,以便启用 SwipeRefreshLayout,否则保持禁用状态。
使用 ListView 可以这样做,但没有 setOnScrollListener 用于 ScrollViews
listView.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
boolean enable = false;
if(listView != null && listView.getChildCount() > 0){
// check if the first item of the list is visible
boolean firstItemVisible = listView.getFirstVisiblePosition() == 0;
// check if the top of the first item is visible
boolean topOfFirstItemVisible = listView.getChildAt(0).getTop() == 0;
// enabling or disabling the refresh layout
enable = firstItemVisible && topOfFirstItemVisible;
}
swipeRefreshLayout.setEnabled(enable);
}
});
【问题讨论】:
-
那不是:stackoverflow.com/questions/7318373/… 为你工作吗?
-
您的问题询问是否可以检查
ListView,然后您就如何为列表视图提供答案。您还突然提到了 ScrollView。如果您的问题是关于 ScrollViews,您不能使用ScrollView.setOnScrollChangeListener -
@MarcusHooper 我的错,我的意思是 ScrollView ...
标签: java android uiscrollview