Android開發中swiperefreshlayout 實現上拉刷新加載功能,swiperefreshlayout是V4包下控件 安卓自帶,不需要導入任何依賴。
private void initPullRefresh() { /** * 下拉刷新回調方法 */ srl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { //前面添加數據 用集合傳過去 Toast.makeText(MainActivity.this,"刷新",Toast.LENGTH_SHORT).show(); if(data!=null&&data.size()!=0){ data.clear(); } initData(page);//請求主頁數據 ada.notifyDataSetChanged(); srl.setRefreshing(false);//關閉 } }); }
private void initLoadMoreListener() { //對Recyclerview 的一個滑動監聽 rv.setOnScrollListener(new RecyclerView.OnScrollListener() { int lastVisibleItem ; @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) { super.onScrollStateChanged(recyclerView, newState); //判斷RecyclerView的狀態 是空閑時,同時,是最後一個可見的ITEM時才加載 if(newState==RecyclerView.SCROLL_STATE_IDLE&&lastVisibleItem+1==ada.getItemCount()){ Toast.makeText(MainActivity.this,"加載",Toast.LENGTH_SHORT).show(); initData(page++);//請求主頁數據 ada.notifyDataSetChanged(); } } @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager(); //最後一個可見的ITEM lastVisibleItem=layoutManager.findLastVisibleItemPosition(); } }); }