SmartRefreshLayout加载更多

MainActivity

public class MainActivity extends AppCompatActivity {

    private RecyclerView mLv;
    private int put = 1;
    private ArrayList<Fuli_bean.ResultsBean> list;
    private Shipeiqi shipeiqi;
    private SmartRefreshLayout mRefreshLayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        initData();
    }

    @SuppressLint("CheckResult")
    private void initData() {
        Retrofit build = new Retrofit.Builder()
                .baseUrl(FuliServer.Fuli)
                .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
                .addConverterFactory(GsonConverterFactory.create())
                .build();
        FuliServer fuliServer = build.create(FuliServer.class);
        Observable<Fuli_bean> fuli = fuliServer.getFuli(put);
        fuli.subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Consumer<Fuli_bean>() {
                    @Override
                    public void accept(Fuli_bean fuli_bean) throws Exception {
                        list.addAll(fuli_bean.getResults());
                        shipeiqi.setList(list);
                        shipeiqi.notifyDataSetChanged();
                    }
                });
    }

    private void initView() {
        mLv = (RecyclerView) findViewById(R.id.lv);
        mRefreshLayout = (SmartRefreshLayout) findViewById(R.id.refreshLayout);
        list = new ArrayList<>();
        shipeiqi = new Shipeiqi(list, this);
        mLv.setAdapter(shipeiqi);
        mLv.setLayoutManager(new LinearLayoutManager(this));
        mRefreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
            @Override
            public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
                put ++ ;
                initData();
                shipeiqi.notifyDataSetChanged();
                refreshLayout.finishLoadMore(true);//加载完成
            }
        });
        //刷新
        mRefreshLayout.setOnRefreshListener(new OnRefreshListener() {
            @Override
            public void onRefresh(@NonNull RefreshLayout refreshLayout) {
                list.clear();
                initData();
                shipeiqi.notifyDataSetChanged();
                refreshLayout.finishRefresh(true);//刷新完成
            }
        });
    }
}

xml里写

<com.scwang.smartrefresh.layout.SmartRefreshLayout android:layout_height="match_parent" android:layout_width="match_parent" android:id="@+id/refreshLayout">

<com.scwang.smartrefresh.header.DeliveryHeader android:layout_height="wrap_content" android:layout_width="match_parent"/>

<android.support.v7.widget.RecyclerView android:layout_height="match_parent" android:layout_width="match_parent" android:id="@+id/lv" android:overScrollMode="never"/>

<com.scwang.smartrefresh.layout.footer.ClassicsFooter android:layout_height="wrap_content" android:layout_width="match_parent" app:srlClassicsSpinnerStyle="Translate"/>

</com.scwang.smartrefresh.layout.SmartRefreshLayout>

依赖

implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0-alpha-14'
    implementation 'com.scwang.smartrefresh:SmartRefreshHeader:1.1.0-alpha-14'//没有使用特殊Header,可以不加这行
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前天台风来了,风大雨大,羊妈妈被绳子绕住死了,剩下了两只刚出生不久的羊宝宝。四点多接到老妈从鱼池上打来的电...
    浣毓阅读 289评论 0 0
  • 自律与自由是一对完全相反的词语,可是,在我眼里,它们却是相生的。因为越想要自由,就越要永远保持自律。 ...
    灵犀1981阅读 563评论 2 3
  • 罗书萍 焦点网络四期 周口项城 坚持分享第479天2018.06.29周五 第39(张老师,平老师)约练感悟 不...
    L次第花开阅读 1,032评论 0 0
  • 1 上班的第一天,刚出门的时候没有下雨,没走几步就下雨了,因为路不熟,担心迟到,本想打车,但排队的人太多,只能直接...
    倚风_d036阅读 834评论 0 1