SwipeRefreshLayout swipe = findViewById(R.id.swipe);
linearLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
//监听 swipe.setOnRefreshListener(this);
让activity实现 implements SwipeRefreshLayout.OnRefreshListener
//上拉加载更多监听 recycler.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) { super.onScrollStateChanged(recyclerView, newState); } @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); int childCount = recycler.getChildCount(); int itemCount = linearLayoutManager.getItemCount(); int firstVisibleItemPosition = linearLayoutManager.findFirstVisibleItemPosition(); if (firstVisibleItemPosition + childCount == itemCount) { initData(); adapter.notifyDataSetChanged(); } } });
@Override public void onRefresh() { //延时刷新 new Handler().postDelayed(new Runnable() { @Override public void run() { //停止刷新 swipe.setRefreshing(false); } },2000); }
@Override protected void initData() { String path = "https://www.zhaoapi.cn/ad/getAd"; presenter.getData(path); }