美文网首页安卓布局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