美文网首页安卓布局Android知识Android开发
解决SwipeRefreshLayout 和ListView 刷

解决SwipeRefreshLayout 和ListView 刷

作者: Mirko_Wu | 来源:发表于2017-03-13 15:16 被阅读95次

解决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

}

相关文章

网友评论

    本文标题:解决SwipeRefreshLayout 和ListView 刷

    本文链接:https://www.haomeiwen.com/subject/whfnittx.html