Android開發中swiperefreshlayout 實現上拉刷新加載功能

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();
            }
        });
    }

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *