Android SwipeRefreshLayout 、RecyclerView冲突下拉冲突的解决方案
生活随笔
收集整理的這篇文章主要介紹了
Android SwipeRefreshLayout 、RecyclerView冲突下拉冲突的解决方案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
SwipeRefreshLayout和RecyclerView一起使用的時候,有時出現RecyclerView沒有滑動到頂部,手指向下滑動時,觸發了SwipeRefreshLayout的刷新事件,造成了沖突。
首先來看一個http://blog.csdn.net/zhangweiwtmdbf/article/details/41206369博客分享的一個解決方法,如下:
mLayoutManager = new LinearLayoutManager(getActivity());//mPicListView是RecyclerView對象mPicListView.setLayoutManager(mLayoutManager);mPicListView.setOnScrollListener(new OnScrollListener() {@Overridepublic void onScrollStateChanged(RecyclerView recyclerView,int newState) {super.onScrollStateChanged(recyclerView, newState);//加載更多if (!isLoading&& hasMore&& mAdapter.getItemCount() == (mLayoutManager.findLastVisibleItemPosition() + 1)&& newState == RecyclerView.SCROLL_STATE_IDLE) {isLoading = true;requestServerArticleMore();}}@Overridepublic void onScrolled(RecyclerView recyclerView, int dx, int dy) {super.onScrolled(recyclerView, dx, dy);//解決RecyclerView和SwipeRefreshLayout共用存在的bugmRefreshLayout.setEnabled(mLayoutManager.findFirstCompletelyVisibleItemPosition() == 0);}});這個我試了下,也能解決,但與單個item不會超過屏幕高度的情況下,上面的解決方法是可行的,反之就不行了。
找了好久,又找到了更好的解決辦法:
http://stackoverflow.com/questions/25178329/recyclerview-and-swiperefreshlayout
圓滿解決問題。
總結
以上是生活随笔為你收集整理的Android SwipeRefreshLayout 、RecyclerView冲突下拉冲突的解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oldboy28期linux决心书
- 下一篇: 1047. Student List f