MainActivity
public class MainActivity extends AppCompatActivity implements IMainView{
private static final String TAG = "MainActivity=====";
private int page=1;
private XListView xlistView;
private List<GoodsListBean.DataBean> list;
private MyAdapter myAdapter;
private PresenterImp presenter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViews();
initDatas();
}
private void initDatas(){
presenter = new PresenterImp();
presenter.showGoodsListToView(new GoodsListImp(),this);
}
private void initViews() {
xlistView= (XListView)findViewById(R.id.xlistview);
Log.d(TAG, "initViews: "+xlistView);
xlistView.setPullLoadEnable(true);
xlistView.setPullRefreshEnable(true);
xlistView.setXListViewListener(new XListView.IXListViewListener() {
@Override
public void onRefresh() {
page=1;
presenter.showGoodsListToViewFresh(new GoodsListImp(),MainActivity.this);
}
@Override
public void onLoadMore() {
page++;
presenter.showGoodsListToViewLoadMore(new GoodsListImp(),MainActivity.this);
}
});
}
@Override
public void showGoodsList(List<GoodsListBean.DataBean> list) {
this.list=list;
myAdapter = new MyAdapter(this,this.list);
xlistView.setAdapter(myAdapter);
}
@Override
public void showGoodsListFresh(List<GoodsListBean.DataBean> list) {
this.list=list;
myAdapter.notifyDataSetChanged();
xlistView.stopRefresh();
}
@Override
public void showGoodsListLoadMore(List<GoodsListBean.DataBean> list) {
this.list.addAll(list);
myAdapter.notifyDataSetChanged();
xlistView.stopLoadMore();
}
@Override
public int getPage() {
return page;
}
}
IMainView 接口
public interface IMainView { void showGoodsList(List<GoodsListBean.DataBean> list); //刷新 void showGoodsListFresh(List<GoodsListBean.DataBean> list); //加载更多 void showGoodsListLoadMore(List<GoodsListBean.DataBean> list); //获取页数 int getPage(); }
http包 httpUtils类
public class httpUtils { private static httpUtils httpUtil; private final int SUCCESS=0; private final int ERROR=1; private MyHandler myHandler=new MyHandler(); private OkLoadListener okLoadListener; public static httpUtils getHttpUtil(){ if (httpUtil==null){ httpUtil=new httpUtils(); } return httpUtil; } class MyHandler extends Handler { @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what){ case SUCCESS: String json = (String) msg.obj; okLoadListener.okLoadSuccess(json); break; case ERROR: String error = (String) msg.obj; okLoadListener.okLoadError(error); break; } } } public void okGet(String url){ OkHttpClient client = new OkHttpClient(); Request build = new Request.Builder().url(url).build(); Call call = client.newCall(build); call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { Message message = myHandler.obtainMessage(); message.what=ERROR; message.obj=e.getMessage(); myHandler.sendMessage(message); } @Override public void onResponse(Call call, Response response) throws IOException { Message message = myHandler.obtainMessage(); message.what=SUCCESS; message.obj=response.body().string(); myHandler.sendMessage(message); } }); } public void setOkLoadListener(OkLoadListener okLoadListener){ this.okLoadListener=okLoadListener; } public void okPost(String url,Map<String,String> params){ OkHttpClient okHttpClient=new OkHttpClient(); FormBody.Builder fbBuilder=new FormBody.Builder(); Set<String> keySet=params.keySet(); for (String key:keySet){ String value = params.get(key); fbBuilder.add(key,value); } FormBody build1 = fbBuilder.build(); Request build = new Request.Builder().url(url).post(build1).build(); Call call = okHttpClient.newCall(build); call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { Message message = myHandler.obtainMessage(); message.what=ERROR; message.obj=e.getMessage(); myHandler.sendMessage(message); } @Override public void onResponse(Call call, Response response) throws IOException { Message message = myHandler.obtainMessage(); message.what=SUCCESS; message.obj=response.body().string(); myHandler.sendMessage(message); } }); } }utils包
httpUtils类
public class httpUtils { private static httpUtils httpUtil; private final int SUCCESS=0; private final int ERROR=1; private MyHandler myHandler=new MyHandler(); private OkLoadListener okLoadListener; public static httpUtils getHttpUtil(){ if (httpUtil==null){ httpUtil=new httpUtils(); } return httpUtil; } class MyHandler extends Handler { @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what){ case SUCCESS: String json = (String) msg.obj; okLoadListener.okLoadSuccess(json); break; case ERROR: String error = (String) msg.obj; okLoadListener.okLoadError(error); break; } } } public void okGet(String url){ OkHttpClient client = new OkHttpClient(); Request build = new Request.Builder().url(url).build(); Call call = client.newCall(build); call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { Message message = myHandler.obtainMessage(); message.what=ERROR; message.obj=e.getMessage(); myHandler.sendMessage(message); } @Override public void onResponse(Call call, Response response) throws IOException { Message message = myHandler.obtainMessage(); message.what=SUCCESS; message.obj=response.body().string(); myHandler.sendMessage(message); } }); } public void setOkLoadListener(OkLoadListener okLoadListener){ this.okLoadListener=okLoadListener; } public void okPost(String url,Map<String,String> params){ OkHttpClient okHttpClient=new OkHttpClient(); FormBody.Builder fbBuilder=new FormBody.Builder(); Set<String> keySet=params.keySet(); for (String key:keySet){ String value = params.get(key); fbBuilder.add(key,value); } FormBody build1 = fbBuilder.build(); Request build = new Request.Builder().url(url).post(build1).build(); Call call = okHttpClient.newCall(build); call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { Message message = myHandler.obtainMessage(); message.what=ERROR; message.obj=e.getMessage(); myHandler.sendMessage(message); } @Override public void onResponse(Call call, Response response) throws IOException { Message message = myHandler.obtainMessage(); message.what=SUCCESS; message.obj=response.body().string(); myHandler.sendMessage(message); } }); } }
OkLoadListener接口
public interface OkLoadListener { void okLoadSuccess(String json); void okLoadError(String error); }
model包
GoodsListBean类
/** * msg : 请求成功 * code : 0 * data : [{"bargainPrice":111.99,"createtime":"2017-10-14T21:39:05","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":1,"pid":1,"price":118,"pscid":1,"salenum":0,"sellerid":17,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-14T21:39:05","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":1,"pid":2,"price":299,"pscid":1,"salenum":999,"sellerid":18,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-03T23:53:28","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":0,"pid":3,"price":198,"pscid":1,"salenum":1234,"sellerid":19,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-14T21:48:08","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":2,"pid":4,"price":999,"pscid":1,"salenum":356,"sellerid":20,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-14T21:39:05","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":1,"pid":5,"price":88.99,"pscid":1,"salenum":678,"sellerid":21,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-03T23:53:28","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":0,"pid":6,"price":7.99,"pscid":1,"salenum":234,"sellerid":22,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-14T21:39:05","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":1,"pid":7,"price":120.01,"pscid":1,"salenum":1266,"sellerid":23,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-03T23:53:28","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":0,"pid":8,"price":324,"pscid":1,"salenum":3000,"sellerid":1,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-14T21:48:08","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":2,"pid":9,"price":78.99,"pscid":1,"salenum":2356,"sellerid":2,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-14T21:39:05","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":1,"pid":10,"price":555.55,"pscid":1,"salenum":0,"sellerid":3,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"}] * page : 1 */ private String msg; private String code; private String page; private List<DataBean> data; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getPage() { return page; } public void setPage(String page) { this.page = page; } public List<DataBean> getData() { return data; } public void setData(List<DataBean> data) { this.data = data; } public static class DataBean { /** * bargainPrice : 111.99 * createtime : 2017-10-14T21:39:05 * detailUrl : https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends * images : https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg * itemtype : 1 * pid : 1 * price : 118.0 * pscid : 1 * salenum : 0 * sellerid : 17 * subhead : 每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下 * title : 北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g */ private double bargainPrice; private String createtime; private String detailUrl; private String images; private int itemtype; private int pid; private double price; private int pscid; private int salenum; private int sellerid; private String subhead; private String title; public double getBargainPrice() { return bargainPrice; } public void setBargainPrice(double bargainPrice) { this.bargainPrice = bargainPrice; } public String getCreatetime() { return createtime; } public void setCreatetime(String createtime) { this.createtime = createtime; } public String getDetailUrl() { return detailUrl; } public void setDetailUrl(String detailUrl) { this.detailUrl = detailUrl; } public String getImages() { return images; } public void setImages(String images) { this.images = images; } public int getItemtype() { return itemtype; } public void setItemtype(int itemtype) { this.itemtype = itemtype; } public int getPid() { return pid; } public void setPid(int pid) { this.pid = pid; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } public int getPscid() { return pscid; } public void setPscid(int pscid) { this.pscid = pscid; } public int getSalenum() { return salenum; } public void setSalenum(int salenum) { this.salenum = salenum; } public int getSellerid() { return sellerid; } public void setSellerid(int sellerid) { this.sellerid = sellerid; } public String getSubhead() { return subhead; } public void setSubhead(String subhead) { this.subhead = subhead; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } } }
GoodsListener 接口
public interface GoodsListener { void getGoodsListSuccess(String json); void getGoodsListError(String error); }
IGoodsModel 接口
public interface IGoodsModel { void gerGoodsListFromNet(String url, Map<String,String> params,GoodsListener goodsListener); void gerGoodsListFromNetFresh(String url, Map<String,String> params,GoodsListener goodsListener); void gerGoodsListFromNetLoadMore(String url, Map<String,String> params,GoodsListener goodsListener); }
MyAdapter 适配器
public class MyAdapter extends BaseAdapter{ private Context context; private List<GoodsListBean.DataBean> list; public MyAdapter(Context context, List<GoodsListBean.DataBean> list) { this.context = context; this.list = list; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { MyViewHolder myViewHolder = null; if (convertView == null) { convertView = View.inflate(context, R.layout.layout_item, null); ImageView imageView = (ImageView) convertView.findViewById(R.id.item_pic); TextView textView = (TextView) convertView.findViewById(R.id.item_title); myViewHolder = new MyViewHolder(imageView, textView); convertView.setTag(myViewHolder); } else { myViewHolder = (MyViewHolder) convertView.getTag(); } String images = list.get(position).getImages(); String pic_url = images.split("\\|")[0]; //加载图片 Glide.with(context).load(pic_url).into(myViewHolder.getItem_pic()); myViewHolder.getItem_title().setText(list.get(position).getTitle()); return convertView; } class MyViewHolder { private ImageView item_pic; private TextView item_title; public MyViewHolder(ImageView item_pic, TextView item_title) { this.item_pic = item_pic; this.item_title = item_title; } public ImageView getItem_pic() { return item_pic; } public void setItem_pic(ImageView item_pic) { this.item_pic = item_pic; } public TextView getItem_title() { return item_title; } public void setItem_title(TextView item_title) { this.item_title = item_title; } } }
GoodsListImp类
public class GoodsListImp implements IGoodsModel { @Override public void gerGoodsListFromNet(String url, Map<String, String> params, final GoodsListener goodsListener) { httpUtils httpUtil=httpUtils.getHttpUtil(); httpUtil.okPost(url,params); httpUtil.setOkLoadListener(new OkLoadListener() { @Override public void okLoadSuccess(String json) { goodsListener.getGoodsListSuccess(json); } @Override public void okLoadError(String error) { goodsListener.getGoodsListError(error); } }); } @Override public void gerGoodsListFromNetFresh(String url, Map<String, String> params, final GoodsListener goodsListener) { httpUtils httpUtil=httpUtils.getHttpUtil(); httpUtil.okPost(url,params); httpUtil.setOkLoadListener(new OkLoadListener() { @Override public void okLoadSuccess(String json) { goodsListener.getGoodsListSuccess(json); } @Override public void okLoadError(String error) { goodsListener.getGoodsListError(error); } }); } @Override public void gerGoodsListFromNetLoadMore(String url, Map<String, String> params, final GoodsListener goodsListener) { httpUtils httpUtil=httpUtils.getHttpUtil(); httpUtil.okPost(url,params); httpUtil.setOkLoadListener(new OkLoadListener() { @Override public void okLoadSuccess(String json) { goodsListener.getGoodsListSuccess(json); } @Override public void okLoadError(String error) { goodsListener.getGoodsListError(error); } }); } }
presenter包
IPresenter接口
public interface IPresenter { void showGoodsListToView(IGoodsModel iGoodsModel, IMainView iMainView); void showGoodsListToViewFresh(IGoodsModel iGoodsModel, IMainView iMainView); void showGoodsListToViewLoadMore(IGoodsModel iGoodsModel, IMainView iMainView); }
PresenterImp 类
public class PresenterImp implements IPresenter{ private String url="https://www.zhaoapi.cn/product/getProducts"; @Override public void showGoodsListToView(IGoodsModel iGoodsModel, final IMainView iMainView) { Map<String,String> params=new HashMap<>(); params.put("pscid","1"); iGoodsModel.gerGoodsListFromNet(url, params, new GoodsListener() { @Override public void getGoodsListSuccess(String json) { Gson gson=new Gson(); GoodsListBean goodsListBean=gson.fromJson(json,GoodsListBean.class); List<GoodsListBean.DataBean> beanList=goodsListBean.getData(); iMainView.showGoodsList(beanList); } @Override public void getGoodsListError(String error) { } }); } @Override public void showGoodsListToViewFresh(IGoodsModel iGoodsModel, final IMainView iMainView) { Map<String,String> params=new HashMap<>(); params.put("pscid","1"); params.put("page","1"); iGoodsModel.gerGoodsListFromNet(url, params, new GoodsListener() { @Override public void getGoodsListSuccess(String json) { Gson gson=new Gson(); GoodsListBean goodsListBean=gson.fromJson(json,GoodsListBean.class); List<GoodsListBean.DataBean> beanList=goodsListBean.getData(); iMainView.showGoodsListFresh(beanList); } @Override public void getGoodsListError(String error) { } }); } @Override public void showGoodsListToViewLoadMore(IGoodsModel iGoodsModel, final IMainView iMainView) { Map<String,String> params=new HashMap<>(); params.put("pscid","1"); params.put("page",iMainView.getPage()+""); iGoodsModel.gerGoodsListFromNet(url, params, new GoodsListener() { @Override public void getGoodsListSuccess(String json) { Gson gson=new Gson(); GoodsListBean goodsListBean=gson.fromJson(json,GoodsListBean.class); List<GoodsListBean.DataBean> beanList=goodsListBean.getData(); iMainView.showGoodsListLoadMore(beanList); } @Override public void getGoodsListError(String error) { } }); } }