在mvp模式中的上拉加载下拉刷新的效果,主要是利用到一个空的集合保存网络请求的数据,然后根据下拉上拉的不同,对这个存储的集合进行操作,上拉的时候将下载的数据全部存放在集合中,当下拉的时候清空集合,但是又会走网络请求,重新将请求到的数据添加到集合中,即可实现数据的展示,还有我里面的那个setadapters是一个p层提供的方法不是配置适配器的,这里面的类和json解析类,只是我自己的,大家可以自己更改。
List<Mygson2.DataEntity> list;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment6, null);
recycler = view.findViewById(R.id.recycler);
list = new ArrayList<>();
myPresenter = new MyPresenter(this);
myPresenter.setAdapters(mypth);
recycler.setLayoutManager(new LinearLayoutManager(getActivity()));
recycler.setLoadingListener(new XRecyclerView.LoadingListener() {
@Override
public void onRefresh() {
API.pager_num = 1;
list.clear();
myPresenter.setAdapters(mypth);
recycler.refreshComplete();
}
@Override
public void onLoadMore() {
API.pager_num++;
myPresenter.setAdapters(mypth);
}
});
return view;
}
@Override
public void getDatas(final List<Mygson2.DataEntity> ss) {
list.addAll(ss);
if (myAdapter == null) {
myAdapter = new MyAdapter(list, getActivity());
recycler.setAdapter(myAdapter);
} else {
myAdapter.notifyDataSetChanged();
recycler.loadMoreComplete();
}
}