做了個項目,用了support包里的SwipeRefreshLayout和RecyclerView。兩者一起使用有一點點小問題,有時候拉着拉着,列表還沒拉玩就出來刷新的圖標了,在華為榮耀上尤為明顯。
可以這樣做:
mLinearLayoutManager = new LinearLayoutManager(mActivity); mRecyclerView.setLayoutManager(mLinearLayoutManager); mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); swipeRefreshLayout.setEnabled(mLinearLayoutManager.findFirstVisibleItemPosition() == 0); } });
這樣就可以確保只有完全滑到頂部,然后再下拉時才刷新