Android 当滚动视图不在顶部时禁用SwipeRefreshLayout

Android 当滚动视图不在顶部时禁用SwipeRefreshLayout,android,scrollview,landscape,swiperefreshlayout,Android,Scrollview,Landscape,Swiperefreshlayout,我有一个片段,它有一个滚动视图和一个SwipeRefreshLayout。当ScrollView不在顶部时,我想禁用SwiperFreshLayout,这样用户可以在片段的顶部再次滚动。我试图创建一个自定义的ScrollView,并像这样覆盖onScrollChanged方法 @Override protected void onScrollChanged(int l, int t, int oldl, int oldt) { View view = (View) getChildAt(

我有一个
片段
,它有一个
滚动视图
和一个
SwipeRefreshLayout
。当
ScrollView
不在顶部时,我想禁用
SwiperFreshLayout
,这样用户可以在
片段的顶部再次滚动。我试图创建一个自定义的
ScrollView
,并像这样覆盖
onScrollChanged
方法

@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
    View view = (View) getChildAt(getChildCount() - 1);
    int d = view.getBottom();
    d -= (getHeight() + getScrollY());
    if (d <= 0) {
        // bottom
    } else if (getScrollY() <= 0) {
        // top
        swipeRefreshLayout.setEnabled(true);
    } else {
        swipeRefreshLayout.setEnabled(false);
        super.onScrollChanged(l, t, oldl, oldt);
    }
}
@覆盖
CrollChanged上的受保护无效(int l、int t、int oldl、int oldt){
视图=(视图)getChildAt(getChildCount()-1);
int d=view.getBottom();
d-=(getHeight()+getScrollY());

如果(d尝试使用
NestedScrollView


当需要在另一个滚动视图中使用滚动视图时,可使用此选项。

如果用户不在
滚动视图的顶部,如何触发刷新?他返回顶部并滑动。