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