//导入依赖
RecyclerView 只需导入Design库就好
/* design RecycleView 依赖 */
implementation 'com.android.support:design:28.0.0'
XRecyclerView 需要导入两处
/*Xrecyclerview*/
implementation 'com.jcodecraeer:xrecyclerview:1.5.9'
2.这一段话也要复制进去 是同一个Build.gradle
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'
}
}
}
}
XRecyclerView 的MainActivity
public class MainActivity extends AppCompatActivity implements IContract.IView {
private String url = "http://172.17.8.100/small/commodity/v1/findCommodityByKeyword?page=1&count=10&keyword=%E6%89%8B%E6%9C%BA";
private XRecyclerView xrec_view;
private List<Results.ResultBean> datas = new ArrayList<>();
private MyAdapter adapter;
private PresenterImpl mPresenter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
xrec_view = findViewById(R.id.xrec_view);
//布局管理器
LinearLayoutManager manager = new LinearLayoutManager(this);
xrec_view.setLayoutManager(manager);
xrec_view.setLoadingMoreEnabled(true);
xrec_view.setPullRefreshEnabled(true);
mPresenter = new PresenterImpl(this);
mPresenter.startRequest(url, this);
adapter = new MyAdapter(this, datas);
xrec_view.setAdapter(adapter);
xrec_view.setLoadingListener(new XRecyclerView.LoadingListener() {
@Override
public void onRefresh() {
datas.clear();
mPresenter.startRequest(url, MainActivity.this);
adapter.notifyDataSetChanged();
xrec_view.refreshComplete();
}
@Override
public void onLoadMore() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
datas.addAll(datas);
adapter.notifyDataSetChanged();
xrec_view.loadMoreComplete();
}
}, 500);
}
});
}
@Override
public void getData(String data) {
Gson gson = new Gson();
Results results = gson.fromJson(data, Results.class);
List<Results.ResultBean> result = results.getResult();
datas.addAll(result);
adapter.notifyDataSetChanged();
}
}