xml布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.jcodecraeer.xrecyclerview.XRecyclerView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/quan"
></com.jcodecraeer.xrecyclerview.XRecyclerView>
</LinearLayout>
主代码
package bwie.com.shizhan2.fragment;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.jcodecraeer.xrecyclerview.XRecyclerView;
import java.util.List;
import bwie.com.shizhan2.R;
import bwie.com.shizhan2.adapter.QuanZiAdapter;
import bwie.com.shizhan2.bean.QuanBean;
import bwie.com.shizhan2.presenter.QuanPresenterClass;
public class QuanZiFragment extends Fragment
{
private XRecyclerView quan;
private int page =1;
private int count =8;
private QuanZiAdapter quanZiAdapter;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.quanzi, container, false);
quan = view.findViewById(R.id.quan);
quan.setLoadingMoreEnabled(true);
quan.setPullRefreshEnabled(true);
final QuanPresenterClass quanPresenterClass = new QuanPresenterClass(this);
quanPresenterClass.getQuanPdata(page ,count);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity());
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
quan.setLayoutManager(linearLayoutManager);
quan.setLoadingListener(new XRecyclerView.LoadingListener() {
@Override
public void onRefresh()
{
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
page =1;
count =10;
quanPresenterClass.getQuanPdata(page,count);
quanZiAdapter.notifyDataSetChanged();
quan.refreshComplete();
}
},2000);
}
@Override
public void onLoadMore()
{
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
count ++;
page ++;
quanPresenterClass.getQuanPdata(page,count);
quanZiAdapter.notifyDataSetChanged();
quan.loadMoreComplete();
}
},2000);
}
});
return view;
}
public void getData(Object obj)
{
QuanBean quanzi = (QuanBean) obj;
List<QuanBean.ResultBean> result = quanzi.getResult();
Log.e("getData",result+"");
quanZiAdapter = new QuanZiAdapter(getActivity(), result);
quan.setAdapter(quanZiAdapter);
}
}
上拉下拉presenter的改变
//接口层
package bwie.com.shizhan2.presenter;
public interface QuanPresenterInter
{
public void getQuanPdata(int page,int count);
}
// 类层
package bwie.com.shizhan2.presenter;
import bwie.com.shizhan2.api.Api;
import bwie.com.shizhan2.fragment.QuanZiFragment;
import bwie.com.shizhan2.model.QuanModelClass;
import bwie.com.shizhan2.model.QuanModelInter;
public class QuanPresenterClass implements QuanPresenterInter
{
QuanZiFragment quanZiFragment;
private final QuanModelClass quanModelClass;
public QuanPresenterClass(QuanZiFragment quanZiFragment)
{
this.quanZiFragment = quanZiFragment ;
quanModelClass = new QuanModelClass();
}
@Override
public void getQuanPdata(int page,int count)
{
quanModelClass.getQuanData(Api.QUANZI+"?page="+page+"&count="+count, new QuanModelInter.QuanCallBack() {
@Override
public void loadSuccess(Object obj) {
quanZiFragment.getData(obj);
}
@Override
public void loadFail() {
}
});
}
}