android - 无法在 swipeRefreshLayout 中的 ListView 中滚动

标签 android swipe-gesture swiperefreshlayout

我在使用 SwipeRefreshLayout 时遇到问题。我在布局中有一个 ListView ,每次我在 ListView 中向上滚动时,刷新布局的滑动都会触发,您永远无法滚动回布局顶部。有人有什么想法吗?

最佳答案

我找到了问题的答案。当 ListView 中的第一个子项位于列表顶部时,我手动启用 swipeRefreshLayout。

    listView.setOnScrollListener(new AbsListView.OnScrollListener() {
        @Override
        public void onScrollStateChanged(AbsListView view, int scrollState) {

        }

        @Override
        public void onScroll(AbsListView listView, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
            int topRowVerticalPosition = (listView == null || listView.getChildCount() == 0) ?
                            0 : expandableListview.getChildAt(0).getTop();
            refresh.setEnabled((topRowVerticalPosition >= 0));
        }
    });

关于android - 无法在 swipeRefreshLayout 中的 ListView 中滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27041416/

相关文章:

android - 清除 Android M 上允许的权限

android - 在屏幕方向更改时恢复对象

android - 无法看到 Android 操作栏的 Logo

android 将列表适配器项拖放到 bin 中

ios - Xamarin Forms ViewCell 滑动以显示按钮

objective-c - 如何为 UIImageView 随机器实现滑动手势

android - SwiperefreshLayout 箭头指示器未显示

java - 只有最后一个元素在 listView 中多次显示

android - 我可以在 DrawerLayout 中使用 SwipeRefreshLayout 吗?

android - SwipeRefreshLayout + 另一个 View