解决SwipeRefreshLayout下拉刷新与ListView下拉的冲突
来源:互联网 发布:电子琴培训班网络教学 编辑:程序博客网 时间:2024/04/27 05:22
如果当我们使用 ListView 的时候使用了 SwipeRefreshLayout 下拉刷新,那么 ListView 的向下滑动就会与 SwipeRefreshLayout 的下拉刷新产生冲突。当我们下拉界面时, SwipeRefreshLayout 会优先获取事件,导致ListView不能够正常下拉,那样我们就看不到 ListView 当前显示的 item 的以上的 item。
怎样解决这个问题呢?我们来设置一个 ListView 的监听器:OnScrollListener,监听ListView 是否滑到了最上面的 item,如果在最上面,就将SwipeRefreshLayout 的状态设置成 setEnabled(true),如果不再最顶端,就设置成setEnabled(false),这样就可以阻止冲突了。具体代码如下:
ListView listView = (ListView)findViewById(R.id.list_view);SwipeRefreshLayout swipeRefreshlayout = (SwipeRefreshLayout)findViewById(R.id.activity_main);swipeRefreshlayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener(){@Override public void onRefresh() { });listView.setOnScrollListener(new AbsListView.OnScrollListener() { @Override public void onScrollStateChanged(AbsListView absListView, int i) { } @Override public void onScroll(AbsListView absListView, int firstVisibleItem, int visibleItemCount, int totalItemCount) { if (firstVisibleItem == 0) swipeRefreshlayout.setEnabled(true); else swipeRefreshlayout.setEnabled(false); } });
阅读全文
1 0
- 解决SwipeRefreshLayout下拉刷新与ListView下拉的冲突
- 解决listview下拉与SwipeRefreshLayout下拉刷新冲突
- SwipeRefreshLayout下拉刷新跟listview下拉滑动冲突解决
- 解决SwipeRefreshLayout下拉刷新与SwipeMenuListView的冲突
- SwipeRefreshLayout下拉刷新冲突解决
- SwipeRefreshLayout下拉刷新冲突解决
- SwipeRefreshLayout下拉刷新与下拉控件冲突解决
- Android WebView下拉刷新与SwipeRefreshLayout事件冲突解决
- SwipeRefreshLayout 嵌套PullToRefreshListView下拉刷新冲突解决
- viewpager和SwipeRefreshLayout下拉刷新冲突解决
- 解决SwipeRefreshLayout与RecyclerView下拉冲突的问题
- android,SwipeRefreshLayout,listview下拉刷新
- 解决SwipeRefreshLayout和webview下拉刷新冲突问题
- Android SwipeRefreshLayout 嵌套 CoordinatorLayout 下拉刷新 事件冲突解决
- 解决SwipeRefreshLayout和webview下拉刷新冲突问题
- 两句代码解决ViewPager滑动与SwipeRefreshLayout下拉刷新冲突
- Android 下拉刷新与 ListView冲突问题
- ViewPager左右滑动与SwipeRefreshLayout下拉刷新冲突
- VC++6.0导入pthread库配置流程
- TensorFlow实时识别手写数字(数字通过鼠标输入)
- 过河问题
- 剑指offer面试题三:二维数组中的查找
- BZOJ4880 [Lydsy2017年5月月赛]排名的战争
- 解决SwipeRefreshLayout下拉刷新与ListView下拉的冲突
- LeetCode练习-动态规划算法(二)
- Linux sed命令
- Crazy Search
- 字符串的模式匹配(BF、KMP)
- 分页插件_按table行分页
- leetcode-14-求字符串数组最长公共前缀
- 排序算法的判别: Insert or Merge,Insertion or Heap Sort
- Linux命令基础23-useradd和passwd命令