xRecyclerView如何使用

Xrecyclerview依赖

    //xrecyclerview
    implementation 'com.jcodecraeer:xrecyclerview:1.3.2'
    implementation 'com.android.support:support-v4:28.0.0'
    
    configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '28.0.0'    //此处填写你项目使用的sdk版本
            }
        }
    }
}

presenter层

 public void loadDataFromNet(String commodityId) {
        api = httpUtils.api;
        api.showNews(commodityId)
                .observeOn(AndroidSchedulers.mainThread())
                .subscribeOn(Schedulers.io())
                .subscribe(new Observer<ShowNews>() {
                    @Override
                    public void onSubscribe(Disposable d) {

                    }

                    @Override
                    public void onNext(ShowNews value) {
                        getView().onSuccess(value);
                    }

                    @Override
                    public void onError(Throwable e) {

                    }

                    @Override
                    public void onComplete() {

                    }
                });

activity如何书写

@Override
    protected void initData() {
        xRecyclerView.setPullRefreshEnabled(true);
        xRecyclerView.setLoadingMoreEnabled(true);
        mainPresenter = new MainPresenter();
        mainPresenter.loadNetData(page);
        mainPresenter.setView(this);
        myRecycleViewAdapter = new MyRecycleViewAdapter(this);
        xRecyclerView.setLayoutManager(new GridLayoutManager(this, 2));
        xRecyclerView.addItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.VERTICAL));
        xRecyclerView.setLoadingListener(new XRecyclerView.LoadingListener() {
            @Override
            public void onRefresh() {

                page = 1;
                mainPresenter.loadNetData(page);
                xRecyclerView.refreshComplete();
            }

            @Override
            public void onLoadMore() {
                handler.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        page++;
                        mainPresenter.loadNetData(page);
                        xRecyclerView.loadMoreComplete();
                    }
                }, 2000);

            }
        });

    }

    @Override
    public void onSuccess(MovieBean movieBean) {
        List<MovieBean.ResultBean> result = movieBean.getResult();

        myRecycleViewAdapter.setData(result);
        if (!myRecycleViewAdapter.hasObservers()) {
            xRecyclerView.setAdapter(myRecycleViewAdapter);
        } else {
            myRecycleViewAdapter.notifyDataSetChanged();
        }

    }

    @Override
    public void onFail(String msg) {

    }

    Handler handler = new Handler();
}

猜你喜欢

转载自blog.csdn.net/qq_40432465/article/details/88781632