SwipeRefreshLayout下拉刷新冲突解决
来源:互联网 发布:mysql删除primary key 编辑:程序博客网 时间:2024/03/29 08:59
摘要: SwipeRefreshLayout结合ListView使用的时候有时候存在下拉冲突,本文提供解决方法
使用SwipeRefreshLayout,网上资料copy了一个OnScrollListener给ListView,
结果当第一个item长度超过一屏,明明还没有到达列表顶部,Scroll事件就被拦截,列表无法滚动,同时启动了刷新。
修正代码后,自定义的OnScrollListener如下:
/** 由于Listview与下拉刷新的Scroll事件冲突, 使用这个ScrollListener可以避免Listview滑动异常 */public static class SwpipeListViewOnScrollListener implements AbsListView.OnScrollListener { private SwipeRefreshLayout mSwipeView; private AbsListView.OnScrollListener mOnScrollListener; public SwpipeListViewOnScrollListener(SwipeRefreshLayout swipeView) { mSwipeView = swipeView; } public SwpipeListViewOnScrollListener(SwipeRefreshLayout swipeView, OnScrollListener onScrollListener) { mSwipeView = swipeView; mOnScrollListener = onScrollListener; } @Override public void onScrollStateChanged(AbsListView absListView, int i) { } @Override public void onScroll(AbsListView absListView, int firstVisibleItem, int visibleItemCount, int totalItemCount) { View firstView = absListView.getChildAt(firstVisibleItem); // 当firstVisibleItem是第0位。如果firstView==null说明列表为空,需要刷新;或者top==0说明已经到达列表顶部, 也需要刷新 if (firstVisibleItem == 0 && (firstView == null || firstView.getTop() == 0)) { mSwipeView.setEnabled(true); } else { mSwipeView.setEnabled(false); } if (null != mOnScrollListener) { mOnScrollListener.onScroll(absListView, firstVisibleItem, visibleItemCount, totalItemCount); } }}
0 0
- SwipeRefreshLayout下拉刷新冲突解决
- SwipeRefreshLayout下拉刷新冲突解决
- SwipeRefreshLayout 嵌套PullToRefreshListView下拉刷新冲突解决
- viewpager和SwipeRefreshLayout下拉刷新冲突解决
- 解决listview下拉与SwipeRefreshLayout下拉刷新冲突
- SwipeRefreshLayout下拉刷新跟listview下拉滑动冲突解决
- 解决SwipeRefreshLayout下拉刷新与ListView下拉的冲突
- SwipeRefreshLayout下拉刷新与下拉控件冲突解决
- 解决SwipeRefreshLayout和webview下拉刷新冲突问题
- Android WebView下拉刷新与SwipeRefreshLayout事件冲突解决
- Android SwipeRefreshLayout 嵌套 CoordinatorLayout 下拉刷新 事件冲突解决
- 解决SwipeRefreshLayout下拉刷新与SwipeMenuListView的冲突
- 解决SwipeRefreshLayout和webview下拉刷新冲突问题
- Android SwipeRefreshLayout 、RecyclerView 下拉刷新冲突
- 解决使用`SwipeRefreshLayout`下拉刷新和左右滑动事件冲突的问题
- 两句代码解决ViewPager滑动与SwipeRefreshLayout下拉刷新冲突
- ViewPager左右滑动与SwipeRefreshLayout下拉刷新冲突
- Android下拉刷新-SwipeRefreshLayout
- kprobes内核调试技术
- kprobes内核调试技术
- python的变量作用域
- 线程、进程和协程
- Cannot get a connection, pool exhausted解决办法
- SwipeRefreshLayout下拉刷新冲突解决
- git clone push Network error:Connection timed out
- spring @Autowire 注入失败总结
- 在 iTunes content中创建新的版本时,出现构建版本后面没有加号。
- 51Nod 1134 最长递增子序列
- 固态硬盘的坏块管理
- 关于栈内存溢出的一个问题
- How To Build GCC 4.8.2 ARM Cross-Compiler
- css、js缓存问题