Android SwipeRefreshLayout与ScrollView冲突
当ScrollView嵌套在SwipeRefreshLayout内时,因为两个空间都会检测用户的滑动操作事件,会冲突。
解决方法:ScrollView添加滑动监控,只有当ScrollView滑动到最上面时,SwipeRefreshLayout才允许滑动。
//解决SwipeRefreshLayout与ScrollView滑动冲突
scrollview.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() {
@Override
public void onScrollChanged() {
swipeRefreshLayout.setEnabled(scrollview.getScrollY()==0);
}
});