解决SwipeRefreshLayout 和ListView 刷新冲突

解决SwipeRefreshLayout 和ListView、 ExplandListView、 GirdView等AbsListView下拉冲突 

本人遇到的问题是:SwipeRefreshLayout 中放了一个LinearLayout ,LinearLayout中才放的ExpandableListView,导致刷新的时候列表下拉不下来,该问题的原因就在于,ExpandableListView的外边又套了一层LinearLayout,

而当SwipeRefreshLayout中的直接子类 不是AbsListView等时,这时冲突就出现了,解决的办法如下

public void    onScroll(AbsListView listView, intfirstVisibleItem, intvisibleItemCount, inttotalItemCount) {           

            boolean enable = false;

              if (listView != null && listView.getChildCount() > 0) {

                   boolean firstItemVisible = listView.getFirstVisiblePosition() == 0;

                    boolean topOfFirstItemVisible = listView.getChildAt(0).getTop() == 0;

                    enable = firstItemVisible && topOfFirstItemVisible;

                }

        mSwipeRefreshLayout.setEnabled(enable);//通过滚动时动态判断是达到顶部来屏蔽SwipeRefreshLayout

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容