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

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容