Android SwipeRefreshLayout 、RecyclerView 下拉刷新冲突
来源:互联网 发布:3d算法必中直选 编辑:程序博客网 时间:2024/04/28 23:52
好久没写android了,发现5.0之后更新很大。在项目中SwipeRefreshLayout和RecyclerView一起使用,发现一些手机RecyclerView没有滑动到顶部,手指向下滑动时,触发了SwipeRefreshLayout的刷新事件,造成了冲突。
根据多年经验,首先想到的是判断item目前是否在第一位置.代码如下:
rvFeed.setOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { FeedContextMenuManager.getInstance().onScrolled(recyclerView, dx, dy); int topRowVerticalPosition = (recyclerView == null || recyclerView.getChildCount() == 0) ? 0 : recyclerView.getChildAt(0).getTop(); if(topRowVerticalPosition>0){ swipeRefreshLayout.setRefreshing(false); }else{ // swipeRefreshLayout.setRefreshing(true); boolean isRefreshing = swipeRefreshLayout.isRefreshing(); if (isRefreshing) { // adapter.notifyItemRemoved(adapter.getItemCount()); return; } if (!isLoading) { isLoading = true; handler.postDelayed(new Runnable() { @Override public void run() { getData(); Log.d("test", "load more completed"); isLoading = false; } }, 1000); } } } });关键代码:
int topRowVerticalPosition = (recyclerView == null || recyclerView.getChildCount() == 0) ? 0 : recyclerView.getChildAt(0).getTop(); if(topRowVerticalPosition>0){ swipeRefreshLayout.setRefreshing(false); }else{ }
0 0
- Android SwipeRefreshLayout 、RecyclerView 下拉刷新冲突
- SwipeRefreshLayout+RecyclerView下拉刷新
- SwipeRefreshLayout+RecyclerView 下拉刷新
- Android RecyclerView + SwipeRefreshLayout 分页、下拉刷新
- Android SwipeRefreshLayout和RecyclerView嵌套时 下拉刷新冲突的解决办法
- Android SwipeRefreshLayout 、RecyclerView冲突下拉冲突的解决方案
- Android SwipeRefreshLayout 、RecyclerView冲突下拉冲突的解决方案
- SwipeRefreshLayout+RecyclerView实现下拉刷新
- 新版下拉刷新swiperefreshlayout+recyclerview
- SwipeRefreshLayout下拉刷新冲突解决
- SwipeRefreshLayout下拉刷新冲突解决
- Android实现RecyclerView自定义列表,SwipeRefreshLayout实现下拉刷新
- Android SwipeRefreshLayout+RecyclerView下拉刷新与上拉加载
- Android下拉刷新-SwipeRefreshLayout
- Android下拉刷新SwipeRefreshLayout
- Android 下拉刷新SwipeRefreshLayout
- Android SwipeRefreshLayout下拉刷新
- Android WebView下拉刷新与SwipeRefreshLayout事件冲突解决
- android 设定activity的动画
- pdf文档内容如何修改
- ImageNet Classification with Deep Convolutional nerual network
- Spring4.1 cache 应用
- Java学习·eclipse换主题颜色
- Android SwipeRefreshLayout 、RecyclerView 下拉刷新冲突
- 首席架构师徐海峰眼中的架构和出色的架构师
- 存储过程效率优化总结——杨小辉
- PowerDesign
- mybatis缓存 redis实现
- ubuntu连接windows远程桌面
- [Java] 浅谈泛型的意义与不足
- 【LeetCode-1】Two Sum
- 173.When does a transaction complete? (Choose all that apply.)