Android 向下滚动导线以激活下拉刷新选项

Android 向下滚动导线以激活下拉刷新选项,android,listview,android-scrollview,Android,Listview,Android Scrollview,我附加了滑动刷新布局作为顶部父节点,为用户提供下拉刷新选项 所以当我向下滚动时,我无法滚动,自动下拉选项开始加载 我搜索了一些关于同一问题的堆栈溢出问题。他们说,听滚动和禁用下拉选项的基础上,列表视图当前索引 我试着去听。但我无法在向下滚动时听到任何事件 我的列表视图对象: mListView = (ListView) getView().findViewById(android.R.id.list); 谁能帮帮我吗。任何其他有趣的解决方案或解决方法。我是这样做的,它工作得非常完美:

我附加了滑动刷新布局作为顶部父节点,为用户提供下拉刷新选项

所以当我向下滚动时,我无法滚动,自动下拉选项开始加载

我搜索了一些关于同一问题的堆栈溢出问题。他们说,听滚动和禁用下拉选项的基础上,列表视图当前索引

我试着去听。但我无法在向下滚动时听到任何事件

我的列表视图对象:

    mListView = (ListView) getView().findViewById(android.R.id.list);

谁能帮帮我吗。任何其他有趣的解决方案或解决方法。

我是这样做的,它工作得非常完美:

class YourActivity extends AppCompatActivity implements ViewTreeObserver.OnScrollChangedListener { 
@Override
protected void onStart() {
    super.onStart();
    mListView.getViewTreeObserver().addOnScrollChangedListener(this);
}

@Override
protected void onStop() {
    super.onStop();
      mListView.getViewTreeObserver().removeOnScrollChangedListener(this);
}


@Override
public void onScrollChanged() {
    if (mListView.getFirstVisiblePosition() == 0) {
        swipeRefresh.setEnabled(true);
    } else {
        swipeRefresh.setEnabled(false);
    }
}
}

希望这会有所帮助。

在我的例子中,我通过将滚动视图更改为嵌套滚动视图来解决问题


切换到NestedScrollView后,它工作正常

非常感谢@Mohanand。令人惊叹的。。。但是我使用了getFirstVisiblePosition()来代替getScrollY()。它工作得很好。你节省了我的时间。谢谢…getFirstVisiblePosition()确实可以工作。欢迎:)你好,莫哈纳德。我还有一个问题。考虑在布局中没有ListVIEW,当布局的第一个元素可见时,我必须启用/禁用扫描刷新布局。如何实现?您可以将addOnScrollChangedListener添加到滚动视图(列表视图、滚动视图、网络视图等)。