1.JsonBean層
public class JsonBean {
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 {
/**
* list : []
* sellerName :
* sellerid : 0
*/
private String sellerName;
private String sellerid;
private List<Bean> 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<Bean> getList() {
return list;
}
public void setList(List<Bean> list) {
this.list = list;
}
@Override
public String toString() {
return "DataBean{" +
"sellerName='" + sellerName + '\'' +
", sellerid='" + sellerid + '\'' +
", list=" + list +
'}';
}
}
@Override
public String toString() {
return "JsonBean{" +
"msg='" + msg + '\'' +
", code='" + code + '\'' +
", data=" + data +
'}';
}
2.Bean層
public class Bean {
private String images;
private String createtime;
public Bean(String images, String createtime) {
this.images = images;
this.createtime = createtime;
}
public String getImages() {
return images;
}
public void setImages(String images) {
this.images = images;
}
public String getCreatetime() {
return createtime;
}
public void setCreatetime(String createtime) {
this.createtime = createtime;
}
@Override
public String toString() {
return "Bean{" +
"images='" + images + '\'' +
", createtime='" + createtime + '\'' +
'}';
}
}
3.CallBack接口
public interface CallBack1 {
void Onsuccess( List list);
void OnFailer(String error);
}
4.View層
public interface OverView {
void Onsuccess( List list);
void OnFailer(String error);
}
5.Model層
public class GainModel {
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 show(final CallBack1 callBack1){
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();
JsonBean jsonBean = gson.fromJson(string, JsonBean.class);
List<JsonBean.DataBean> data = jsonBean.getData();
List<Bean> list = new ArrayList<>();
for (JsonBean.DataBean haha:data) {
List<Bean> list1 = haha.getList();
list.addAll(list1);
}
if (list!=null){
callBack1.Onsuccess(list);
}else {
callBack1.OnFailer("失敗");
}
}
});
}
});
}
}
6.Presenter層
public class ShowPresenter {
private OverView overView;
private GainModel gainModel;
public ShowPresenter(OverView overView) {
this.overView = overView;
gainModel = new GainModel();
}
public void show2(){
gainModel.show(new CallBack1() {
@Override
public void Onsuccess( List<Bean> list) {
overView.Onsuccess(list);
}
@Override
public void OnFailer(String error) {
overView.OnFailer(error);
}
});
}
}
7.adapter
public class Myadapter extends RecyclerView.Adapter {
private Context context;
private List list;
//private List list1;
List listimage = new ArrayList<>();
public Myadapter(Context context, List list) {
this.context = context;
this.list = list;
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = null;
MyHolder viewHolder = null;
view=View.inflate(context, R.layout.list,null);
viewHolder = new MyHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) {
String images = list.get(i).getImages();
String[] split = images.split("\\|");
for(int j = 0; j<split.length-1;j++){
listimage.add(split[j]);
}
if (list.size() > 0 && list != null) {
((MyHolder) viewHolder).textView.setText(list.get(i).getCreatetime());
Glide.with(context).load(listimage.get(i)).into(((MyHolder) viewHolder).imageView);
}
}
@Override
public int getItemCount() {
return list.size();
}
private class MyHolder extends RecyclerView.ViewHolder {
public final ImageView imageView;
public final TextView textView;
public MyHolder(@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);
}
}
}
8.Activity
public class Main2Activity extends AppCompatActivity implements OverView {
private ShowPresenter showPresenter;
private RecyclerView recyclerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
showPresenter = new ShowPresenter(this);
showPresenter.show2();
initview();
initListener();
initData();
}
private void initData() {
}
private void initListener() {
}
private void initview() {
recyclerView = findViewById(R.id.recyclerview);
}
@Override
public void Onsuccess( List<Bean> list) {
StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL);
recyclerView.setLayoutManager(staggeredGridLayoutManager);
Myadapter myadapter = new Myadapter(Main2Activity.this,list);
recyclerView.setAdapter(myadapter);
}
@Override
public void OnFailer(String error) {
}
}