1.bean類
package bw.com.yk.bean;
import java.util.List;
public class PubuBean {
private String msg;
private String code;
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 List<DataBean> getData() {
return data;
}
public void setData(List<DataBean> data) {
this.data = data;
}
public static class DataBean {
private String sellerName;
private String sellerid;
private List<ListBean> list;
public String getSellerName() {
return sellerName;
}
public void setSellerName(String sellerName) {
this.sellerName = sellerName;
}
public String getSellerid() {
return sellerid;
}
public void setSellerid(String sellerid) {
this.sellerid = sellerid;
}
public List<ListBean> getList() {
return list;
}
public void setList(List<ListBean> list) {
this.list = list;
}
public static class ListBean {
private double bargainPrice;
private String createtime;
private String detailUrl;
private String images;
private int num;
private int pid;
private double price;
private int pscid;
private int selected;
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 getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
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 getSelected() {
return selected;
}
public void setSelected(int selected) {
this.selected = selected;
}
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;
}
}
}
}
2.pubClallBack接口
public interface PbCallBack {
void onSuccess3(List<PubuBean.DataBean.ListBean> listBeans);
void onFailer(String error);
}
3.View層
public interface PbView {
void onSuccess3(List<PubuBean.DataBean.ListBean> listBeans);
void onFailer(String error);
}
4.Model層
public class PbModel {
private String path=“http://www.zhaoapi.cn/product/getCarts?uid=71”;
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
}
};
public void showpb(final PbCallBack pbCallBack){
OkHttp.createget(path, new Callback() {
@Override
public void onFailure(Call call, IOException e) {
}
@Override
public void onResponse(Call call, Response response) throws IOException {
final String string = response.body().string();
handler.post(new Runnable() {
@Override
public void run() {
Gson gson = new Gson();
PubuBean pubuBean = gson.fromJson(string, PubuBean.class);
List<PubuBean.DataBean> data = pubuBean.getData();
List<PubuBean.DataBean.ListBean> list = new ArrayList<>();
for (PubuBean.DataBean haha:data) {
List<PubuBean.DataBean.ListBean> list1 = haha.getList();
list.addAll(list1);
}
if (list!=null){
pbCallBack.onSuccess3(list);
}else {
pbCallBack.onFailer("失敗");
}
}
});
}
});
}
}
5.Presenter層
public class PbPresenter {
private PbView pbView;
private PbModel pbModel;
public PbPresenter(PbView pbView) {
this.pbView = pbView;
pbModel= new PbModel();
}
public void showpb(){
pbModel.showpb(new PbCallBack() {
@Override
public void onSuccess3(List<PubuBean.DataBean.ListBean> listBeans) {
pbView.onSuccess3(listBeans);
}
@Override
public void onFailer(String error) {
pbView.onFailer(error);
}
});
}
}
6.adapter
public class PbAdapter extends RecyclerView.Adapter {
private Context context;
private List<PubuBean.DataBean.ListBean> listBeans;
List listimage = new ArrayList<>();
public PbAdapter(Context context, List<PubuBean.DataBean.ListBean> listBeans) {
this.context = context;
this.listBeans = listBeans;
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view=null;
RecyclerView.ViewHolder viewHolder = null;
view = View.inflate(context,R.layout.pb,null);
viewHolder = new MyHolder3(view);
return viewHolder;
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) {
String images = listBeans.get(i).getImages();
String[] split = images.split("\\|");
for (int j = 0; j <split.length ; j++) {
listimage.add(split[j]);
}
if (listBeans.size()>0 && listBeans!=null){
((MyHolder3)viewHolder).textView.setText(listBeans.get(i).getCreatetime());
Glide.with(context).load(listimage.get(i)).into(((MyHolder3)viewHolder).imageView);
}
}
@Override
public int getItemCount() {
return listBeans.size();
}
private class MyHolder3 extends RecyclerView.ViewHolder {
private final ImageView imageView;
private final TextView textView;
public MyHolder3(@NonNull View itemView) {
super(itemView);
imageView = itemView.findViewById(R.id.image11);
textView = itemView.findViewById(R.id.text1);
ViewGroup.LayoutParams params = textView.getLayoutParams();
params.width=(1000)/3;
params.height= (int) (Math.random()*100);
textView.setLayoutParams(params);
}
}
}
7.Fragment
public class Frag01 extends Fragment implements PbView {
private PbPresenter pbPresenter;
private View view;
private RecyclerView recyclerView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment_frag01, container, false);
initView();
pbPresenter=new PbPresenter(this);
pbPresenter.showpb();
return view;
}
private void initView() {
recyclerView = view.findViewById(R.id.pbrecy);
final PullToRefreshLayout pullToRefreshLayout = view.findViewById(R.id.pull);
pullToRefreshLayout.setRefreshListener(new BaseRefreshListener() {
@Override
public void refresh() {
new Handler().postAtTime(new Runnable() {
@Override
public void run() {
pullToRefreshLayout.finishRefresh();
}
},2000);
pullToRefreshLayout.finishRefresh();
}
@Override
public void loadMore() {
new Handler().postAtTime(new Runnable() {
@Override
public void run() {
pullToRefreshLayout.finishLoadMore();
}
},2000);
}
});
}
@Override
public void onSuccess3(List<PubuBean.DataBean.ListBean> listBeans) {
StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL);
recyclerView.setLayoutManager(staggeredGridLayoutManager);
PbAdapter pbAdapter = new PbAdapter(getActivity(),listBeans);
recyclerView.setAdapter(pbAdapter);
}
@Override
public void onFailer(String error) {
}
}