//View层
public interface MView { void mshasuccess(MiaoSha_Bean miaoSha_bean); void mshafailed(String msg); }
//Model层
public interface MModel { void getUrl(String url, Map<String,String> map); }public class MShaModel implements MModel{ MiaoSha_Bean miaoSha_bean; private MSFinish msFinish; public interface MSFinish{ void onMSFinishliencer(MiaoSha_Bean miaoSha_bean); void onfailed(String msg); } public void setMsFinish(MSFinish msFinish) { this.msFinish = msFinish; } @Override public void getUrl(String url, Map<String, String> map) { OkHttp3Utils.doPost(url, map, new GsonObjectCallback<MiaoSha_Bean>() { @Override public void onUi(MiaoSha_Bean miaoSha_bean) { String code = miaoSha_bean.getCode(); String msg = miaoSha_bean.getMsg(); if (code.endsWith("0")){ msFinish.onMSFinishliencer(miaoSha_bean); }else { msFinish.onfailed(msg); } } @Override public void onFailed(Call call, IOException e) { } }); } }//Presenter层public class MSpresenter implements MShaModel.MSFinish{ MView mView; MShaModel mShaModel; public MSpresenter(MView mView) { this.mView = mView; this.mShaModel=new MShaModel(); mShaModel.setMsFinish(this); } public void getUrl(String url, Map<String,String> map){ mShaModel.getUrl(url,map); } @Override public void onMSFinishliencer(MiaoSha_Bean miaoSha_bean) { mView.mshasuccess(miaoSha_bean); } @Override public void onfailed(String msg) { mView.mshafailed(msg); } }
//adapter层
public class MSAdapter extends RecyclerView.Adapter<MSAdapter.viewHolder>{ Context context; List<MiaoSha_Bean.DataBean> list; public MSAdapter(Context context, List<MiaoSha_Bean.DataBean> list) { this.context = context; this.list = list; } @Override public viewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View inflate = View.inflate(context, R.layout.miaosha_item, null); viewHolder viewHolder = new viewHolder(inflate); return viewHolder; } @Override public void onBindViewHolder(viewHolder holder, int position) { holder.miaosha_title.setText(list.get(position).getSalenum()+""); String images = list.get(position).getImages(); String[] split = images.split("\\|"); Glide.with(context).load(split[0]).into(holder.miaosha_img); } @Override public int getItemCount() { return list.size(); } class viewHolder extends RecyclerView.ViewHolder{ ImageView miaosha_img; TextView miaosha_title; public viewHolder(View itemView) { super(itemView); miaosha_img=itemView.findViewById(R.id.miaosha_img); miaosha_title=itemView.findViewById(R.id.miaosha_title); } } }
//展示数据
/** * 秒杀 */ private void miaosha() { miaosha_rlv = view.findViewById(R.id.miaosha_rlv); MSpresenter mSpresenter=new MSpresenter(this); GridLayoutManager gridLayoutManager=new GridLayoutManager(getActivity(),1); gridLayoutManager.setOrientation(GridLayoutManager.HORIZONTAL); miaosha_rlv.setLayoutManager(gridLayoutManager); Map<String,String> map=new HashMap<>(); map.put("pscid","39"); map.put("page","1"); mSpresenter.getUrl(API.MIAOSH,map); }//秒杀 @Override public void mshasuccess(MiaoSha_Bean miaoSha_bean) { List<MiaoSha_Bean.DataBean> data = miaoSha_bean.getData(); MSAdapter msAdapter=new MSAdapter(getActivity(),data); miaosha_rlv.setAdapter(msAdapter); }