分类跳转列表详情

activity_main

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    tools:context="com.bwie.test.mygou.MainActivity">
    <ListView
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="2"
        android:id="@+id/lv">
    </ListView>

    <android.support.v7.widget.RecyclerView
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:id="@+id/recy1"
        android:layout_weight="8">
    </android.support.v7.widget.RecyclerView>

</LinearLayout>

activity_image

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.bwie.test.mygou.ImageActivity">
    <android.support.v4.view.ViewPager
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/viewpage">
    </android.support.v4.view.ViewPager>

</LinearLayout>

activity_sou_suo

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.bwie.test.mygou.SouSuoActivity">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="商品列表"
        android:layout_gravity="center_horizontal" />
    <com.jcodecraeer.xrecyclerview.XRecyclerView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/xre">
    </com.jcodecraeer.xrecyclerview.XRecyclerView>

</LinearLayout>

activity_xiang_qing

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.bwie.test.mygou.XiangQingActivity">
    <android.support.v4.view.ViewPager
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:id="@+id/vp">
    </android.support.v4.view.ViewPager>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_below="@+id/vp">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/xx_tv1" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/xx_tv2" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/xx_tv3" />
    </LinearLayout>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="加入购物车"
        android:onClick="jiaru"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true" />
</LinearLayout>

layout_item01

<?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="match_parent"
    android:orientation="vertical">
    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/recy2">
    </android.support.v7.widget.RecyclerView>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/item_tv" />

</LinearLayout>

layout_item02

<?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="match_parent"
    android:orientation="vertical"
    android:layout_marginLeft="20dp">
    <ImageView
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:id="@+id/item2_iv"
        android:src="@mipmap/ic_launcher" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/item2_tv" />

</LinearLayout>

layout_list

<?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="match_parent"
    android:layout_marginTop="20dp">
    <TextView
        android:layout_marginTop="20dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/listview_tv" />

</LinearLayout>

layout_sousuo

<?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="match_parent"
    android:orientation="horizontal">
    <ImageView
        android:layout_width="0dp"
        android:layout_weight="3"
        android:layout_height="100dp"
        android:id="@+id/ss_iv" />

    <LinearLayout
        android:layout_width="0dp"
        android:layout_weight="7"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/ss_tv1" />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/ss_tv2" />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/ss_tv3"
            android:textColor="@android:color/holo_red_dark" />
    </LinearLayout>

</LinearLayout>

MainActivity

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;

import com.bwie.test.adapter.LeftAdapter;
import com.bwie.test.adapter.MyAdapter;
import com.bwie.test.bean.LeftBean;
import com.bwie.test.bean.RightBean;
import com.bwie.test.presenter.LeftPresenter;
import com.bwie.test.presenter.Rightpresenter;
import com.bwie.test.view.LeftView;
import com.bwie.test.view.RightView;

import java.util.List;

public class MainActivity extends AppCompatActivity implements LeftView,RightView{
    ListView lv;
    RecyclerView recy1;
    private int cid;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //隐藏原有标题
        getSupportActionBar().hide();
        lv=findViewById(R.id.lv);
        recy1=findViewById(R.id.recy1);

        LeftPresenter leftPresenter = new LeftPresenter(this);
        leftPresenter.getleftdata();

        recy1.setLayoutManager(new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,
                false));
    }

    @Override
    public void Onsuccess(final LeftBean leftBean) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                final List<LeftBean.DataBean> data=leftBean.getData();
                LeftAdapter leftadapter = new LeftAdapter(MainActivity.this, data);
                lv.setAdapter(leftadapter);

                lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                        cid = data.get(position).getCid();
                        Rightpresenter rightpresenter = new Rightpresenter(MainActivity.this);
                        rightpresenter.getrightdata(cid);
                    }
                });
            }
        });
    }

    @Override
    public void RightSuccess(final RightBean rightBean) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                List<RightBean.DataBean> data = rightBean.getData();
                MyAdapter myAdapter = new MyAdapter(MainActivity.this, data);
                recy1.setAdapter(myAdapter);
            }
        });
    }
}

ImageActivity

import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.ViewGroup;

import com.bumptech.glide.Glide;
import com.bwie.test.view.ZoomImageView;

import java.util.ArrayList;

public class ImageActivity extends AppCompatActivity {
    private ViewPager viewPager;
    private ArrayList<String> imageUrls;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_image);
        //查找控件
        viewPager = (ViewPager) findViewById(R.id.viewpage);
        //获取导数据
        imageUrls = getIntent().getStringArrayListExtra("list");

        if (imageUrls != null){
            viewPager.setAdapter(new PagerAdapter() {
                @Override
                public Object instantiateItem(ViewGroup container, int position) {
                    ZoomImageView imageView = new ZoomImageView(ImageActivity.this);
                    //加载图片显示
                    Glide.with(ImageActivity.this).load(imageUrls.get(position)).into(imageView);

                    //添加
                    container.addView(imageView);
                    //返回
                    return imageView;
                }

                @Override
                public void destroyItem(ViewGroup container, int position, Object object) {
                    container.removeView((View) object);
                }

                @Override
                public boolean isViewFromObject(View arg0, Object arg1) {
                    return arg0 == arg1;
                }

                @Override
                public int getCount() {
                    return imageUrls.size();
                }
            });
        }
    }
}

SouSuoActivity

import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.View;

import com.bwie.test.adapter.MyAdapter;
import com.bwie.test.adapter.SouSuoAdapter;
import com.bwie.test.adapter.ZhongAdapter;
import com.bwie.test.bean.SouSuoBean;
import com.bwie.test.presenter.SouSuoPresenter;
import com.bwie.test.view.SouSuoView;
import com.jcodecraeer.xrecyclerview.XRecyclerView;

import java.util.ArrayList;
import java.util.List;

public class SouSuoActivity extends AppCompatActivity implements SouSuoView{
    XRecyclerView xre;
    int page = 1;
    private SouSuoPresenter ssPresenter;
    private int pscid;
    private SouSuoAdapter souSuoAdapter;
    private List<SouSuoBean.DataBean> list;
    private List<SouSuoBean.DataBean> data;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sou_suo);
        //隐藏原有标题
        getSupportActionBar().hide();
        //查找控件
        xre=findViewById(R.id.xre);
        xre.setLayoutManager(new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,
                false));

        Intent intent = getIntent();
        pscid = intent.getIntExtra("pscid",1);
        Log.i("TAg---", "v层数据 "+pscid);
        ssPresenter = new SouSuoPresenter(this);
        ssPresenter.getdata(pscid,page);

        xre.setLayoutManager(new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,
                false));
        xre.setLoadingListener(new XRecyclerView.LoadingListener() {
            @Override
            public void onRefresh() {
                list.clear();
                page=1;
                ssPresenter.getdata(pscid, page);
                souSuoAdapter.notifyDataSetChanged();
                xre.refreshComplete();
            }

            @Override
            public void onLoadMore() {
                page++;
                ssPresenter.getdata(pscid, page);
                souSuoAdapter.notifyDataSetChanged();
                xre.refreshComplete();
            }
        });
    }

    @Override
    public void OnSuccess(final SouSuoBean souSuoBean) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                Log.i("TAG-----", "v层数据"+souSuoBean);
                data = souSuoBean.getData();
                list = new ArrayList<>();
                list.addAll(data);
                souSuoAdapter = new SouSuoAdapter(list, SouSuoActivity.this);
                xre.setAdapter(souSuoAdapter);

                souSuoAdapter.setOnItemClickListener(new ZhongAdapter.OnItemClickListener() {
                    @Override
                    public void onItemClick(int pos) {
                        Intent intent=new Intent(SouSuoActivity.this, XiangQingActivity.class);
                        intent.putExtra("pid",data.get(pos).getPid());
                        startActivity(intent);
                    }
                });
            }
        });
    }
}

XiangQingActivity

import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import com.bumptech.glide.Glide;
import com.bwie.test.bean.XiangQingBean;
import com.bwie.test.presenter.XiangQingPresenter;
import com.bwie.test.util.OkHttp;
import com.bwie.test.view.XaingQingView;

import org.json.JSONObject;

import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;

public class XiangQingActivity extends AppCompatActivity implements XaingQingView{
    ViewPager vp;
    TextView t1,t2,t3;
    private XiangQingBean.DataBean data;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_xiang_qing);
        //查找控件
        vp=findViewById(R.id.vp);
        t1=findViewById(R.id.xx_tv1);
        t2=findViewById(R.id.xx_tv2);
        t3=findViewById(R.id.xx_tv3);

        Intent intent = getIntent();
        int pid = intent.getIntExtra("pid", 12);
        XiangQingPresenter presenter = new XiangQingPresenter(this);
        presenter.getdata(pid);
    }

    @Override
    public void OnSuccess(final XiangQingBean xiangQingBean) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                data = xiangQingBean.getData();
                t1.setText(data.getTitle());
                t2.setText("¥"+ data.getPrice());
                t3.setText("优惠价:¥"+ data.getPrice());

                String[] split = data.getImages().split("\\|");
                final ArrayList<String> list=new ArrayList<>();
                for (int i=0;i<split.length;i++){
                    list.add(split[i]);
                }

                vp.setAdapter(new PagerAdapter() {
                    @Override
                    public int getCount() {
                        return list.size();
                    }

                    @Override
                    public boolean isViewFromObject(View view, Object object) {
                        return view == object;
                    }

                    @Override
                    public Object instantiateItem(ViewGroup container, int position) {
                        ImageView imageView = new ImageView(XiangQingActivity.this);
                        Glide.with(XiangQingActivity.this).load(list.get(position)).into(imageView);
                        container.addView(imageView);

                        imageView.setOnClickListener(new View.OnClickListener() {
                            @Override
                            public void onClick(View v) {
                                Intent intent=new Intent(XiangQingActivity.this,
                                        ImageActivity.class);
                                intent.putExtra("list",list);
                                startActivity(intent);
                            }
                        });
                        return imageView;
                    }

                    @Override
                    public void destroyItem(ViewGroup container, int position, Object object) {
                        container.removeView((View) object);
                    }
                });
            }
        });
    }

    public void jiaru(View view) {
        Map<String,String> map = new HashMap<>();
        map.put("pid", String.valueOf(data.getPid()));
        map.put("uid","11452");
        OkHttp.doPost("https://www.zhaoapi.cn/product/addCart", map, new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {

            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                if(response.isSuccessful()){
                    String string = response.body().string();
                    try {
                        JSONObject jsonObject = new JSONObject(string);
                        final  String code = jsonObject.getString("msg");
                        if("加购成功".equals(code)){
                            runOnUiThread(new Runnable() {
                                @Override
                                public void run() {
                                    Toast.makeText(XiangQingActivity.this, code, Toast.LENGTH_SHORT).show();
                                }
                            });
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
        });
    }
}

adapter文件夹下LeftAdapter

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

import com.bwie.test.bean.LeftBean;
import com.bwie.test.mygou.R;

import java.util.List;

public class LeftAdapter extends BaseAdapter{
    Context context;
    List<LeftBean.DataBean> data;

    public LeftAdapter(Context context, List<LeftBean.DataBean> data) {
        this.context = context;
        this.data = data;
    }

    @Override
    public int getCount() {
        return data.size();
    }

    @Override
    public Object getItem(int position) {
        return null;
    }

    @Override
    public long getItemId(int position) {
        return 0;
    }

    @Override
    public View getView(int position, View view, ViewGroup viewGroup) {
        ViewHolder vh;
        if (view == null){
            vh = new ViewHolder();
            view = View.inflate(context, R.layout.layout_list, null);
            vh.tv = view.findViewById(R.id.listview_tv);

            view.setTag(vh);
        } else {
            vh = (ViewHolder) view.getTag();
        }
        vh.tv.setText(data.get(position).getName());
        return view;
    }

    class ViewHolder{
        TextView tv;
    }
}

MyAdapter

import android.content.Context;
import android.content.Intent;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import com.bwie.test.bean.RightBean;
import com.bwie.test.bean.SouSuoBean;
import com.bwie.test.mygou.R;
import com.bwie.test.mygou.SouSuoActivity;
import java.util.List;

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.viewholder>{
    Context context;
    List<RightBean.DataBean> data;

    public MyAdapter(Context context, List<RightBean.DataBean> data) {
        this.context = context;
        this.data = data;
    }

    @Override
    public viewholder onCreateViewHolder(ViewGroup parent, int viewType) {
        viewholder viewholder = new viewholder(LayoutInflater.from(context)
                .inflate(R.layout.layout_item01, parent, false));
        return viewholder;
    }

    @Override
    public void onBindViewHolder(viewholder holder, final int position) {
        holder.tv.setText(data.get(position).getName());
        final List<RightBean.DataBean.ListBean> list = data.get(position).getList();
        holder.recy2.setLayoutManager(new GridLayoutManager(context, 2,
                LinearLayoutManager.VERTICAL, false));
        ZhongAdapter zhongAdapter = new ZhongAdapter(list, context);
        holder.recy2.setAdapter(zhongAdapter);

        zhongAdapter.setOnItemClickListener(new ZhongAdapter.OnItemClickListener() {
            @Override
            public void onItemClick(int pos) {
                Intent intent = new Intent(context, SouSuoActivity.class);
                intent.putExtra("pscid",list.get(pos).getPscid());
                context.startActivity(intent);
            }
        });
    }

    @Override
    public int getItemCount() {
        return data.size();
    }

    class viewholder extends RecyclerView.ViewHolder {
        RecyclerView recy2;
        TextView tv;
        public viewholder(View itemView) {
            super(itemView);
            recy2 = itemView.findViewById(R.id.recy2);
            tv = itemView.findViewById(R.id.item_tv);
        }
    }
}

SouSuoAdapter

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.bumptech.glide.Glide;
import com.bwie.test.bean.SouSuoBean;
import com.bwie.test.mygou.R;

import java.util.List;

public class SouSuoAdapter extends RecyclerView.Adapter<SouSuoAdapter.viewholder>{
    List<SouSuoBean.DataBean> data;
    Context context;
    private ZhongAdapter.OnItemClickListener onItemClickListener;

    public SouSuoAdapter(List<SouSuoBean.DataBean> data, Context context) {
        this.data = data;
        this.context = context;
    }

    @Override
    public viewholder onCreateViewHolder(ViewGroup parent, int viewType) {
        viewholder viewholder = new viewholder(LayoutInflater.from(context)
                .inflate(R.layout.layout_sousuo, parent, false));
        return viewholder;
    }

    @Override
    public void onBindViewHolder(viewholder holder, final int position) {
        holder.t1.setText(data.get(position).getTitle());
        holder.t2.setText("¥"+data.get(position).getPrice());
        holder.t3.setText("¥"+data.get(position).getBargainPrice());
        String[] split = data.get(position).getImages().split("\\|");
        Glide.with(context).load(split[0]).into(holder.img);

        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                onItemClickListener.onItemClick(position);
            }
        });
    }

    @Override
    public int getItemCount() {
        return data.size();
    }

    class viewholder extends RecyclerView.ViewHolder {
        ImageView img;
        TextView t1,t2,t3;
        public viewholder(View itemView) {
            super(itemView);
            img=itemView.findViewById(R.id.ss_iv);
            t1=itemView.findViewById(R.id.ss_tv1);
            t2=itemView.findViewById(R.id.ss_tv2);
            t3=itemView.findViewById(R.id.ss_tv3);
        }
    }

    public void setOnItemClickListener(ZhongAdapter.OnItemClickListener onItemClickListener) {
        this.onItemClickListener = onItemClickListener;
    }

    public interface OnItemClickListener {
        void onItemClick(int pos);
    }
}

ZhongAdapter

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.bumptech.glide.Glide;
import com.bwie.test.bean.RightBean;
import com.bwie.test.mygou.R;

import java.util.List;

public class ZhongAdapter extends RecyclerView.Adapter<ZhongAdapter.viehwolder>{
    List<RightBean.DataBean.ListBean> list;
    Context context;
    private OnItemClickListener onItemClickListener;

    public ZhongAdapter(List<RightBean.DataBean.ListBean> list, Context context) {
        this.list = list;
        this.context = context;
    }

    @Override
    public viehwolder onCreateViewHolder(ViewGroup parent, int viewType) {
        viehwolder viehwolder = new viehwolder(LayoutInflater.from(context)
                .inflate(R.layout.layout_item02, parent,false));
        return viehwolder;
    }

    @Override
    public void onBindViewHolder(viehwolder holder, final int position) {
        holder.tv.setText(list.get(position).getName());
        Glide.with(context).load(list.get(position).getIcon()).into(holder.iv);
        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                onItemClickListener.onItemClick(position);
            }
        });
    }

    @Override
    public int getItemCount() {
        return list.size();
    }

    class viehwolder extends RecyclerView.ViewHolder {
        TextView tv;
        ImageView iv;
        public viehwolder(View itemView) {
            super(itemView);
            iv=itemView.findViewById(R.id.item2_iv);
            tv=itemView.findViewById(R.id.item2_tv);
        }
    }

    public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
        this.onItemClickListener = onItemClickListener;
    }

    public interface OnItemClickListener {
        void onItemClick(int pos);
    }
}

model文件夹下LeftModel

import com.bwie.test.bean.LeftBean;
import com.bwie.test.presenter.LeftIpresenter;
import com.bwie.test.util.OkHttp;
import com.google.gson.Gson;

import java.io.IOException;

import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;

public class LeftModel {
    public void left(final LeftIpresenter leftIpresenter) {
        OkHttp.doGet("https://www.zhaoapi.cn/product/getCatagory", new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {

            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                String string = response.body().string();
                Gson gson = new Gson();
                LeftBean leftbean = gson.fromJson(string, LeftBean.class);
                leftIpresenter.OnSuccess(leftbean);
            }
        });
    }
}

RightModel

import com.bwie.test.bean.RightBean;
import com.bwie.test.presenter.RightIpresenter;
import com.bwie.test.util.OkHttp;
import com.google.gson.Gson;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;

public class RightModel {
    public void getrightdata(int cid, final RightIpresenter rightIpresenter){
        Map<String,String> map = new HashMap<>();
        map.put("cid", String.valueOf(cid));
        OkHttp.doPost("https://www.zhaoapi.cn/product/getProductCatagory", map, new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {

            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                if(response.isSuccessful()){
                    String string = response.body().string();
                    Gson gson=new Gson();
                    RightBean rightbean = gson.fromJson(string, RightBean.class);
                    rightIpresenter.OnrightSuccess(rightbean);
                }
            }
        });
    }
}

SouSuoMoudle

import android.util.Log;
import com.bwie.test.bean.SouSuoBean;
import com.bwie.test.presenter.SouSuoIpresenter;
import com.bwie.test.util.OkHttp;
import com.google.gson.Gson;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;

public class SouSuoMoudle {
    public void ssdata(int pscid, final SouSuoIpresenter ssIpresenter, int page) {
        Map<String,String> map=new HashMap<>();
        map.put("pscid", String.valueOf(pscid));
        map.put("page", String.valueOf(page));

        Log.i("TAG---", "moudle层的参数 "+pscid+"///"+page);
        OkHttp.doPost("https://www.zhaoapi.cn/product/getProducts", map, new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {

            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                if(response.isSuccessful()){
                    String string = response.body().string();
                    Log.i("TAG----", "展示数据的: "+string);
                    Gson gson=new Gson();
                    SouSuoBean ssbean = gson.fromJson(string, SouSuoBean.class);
                    ssIpresenter.OnSuccess(ssbean);
                }
            }
        });
    }
}

XiangQingMoudle

import com.bwie.test.bean.XiangQingBean;
import com.bwie.test.presenter.XiangQingPresenter;
import com.bwie.test.util.OkHttp;
import com.google.gson.Gson;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;

public class XiangQingMoudle {
    public void getdata(int pid,final XiangQingPresenter presenter){
        Map<String,String> map = new HashMap<>();
        map.put("pid", String.valueOf(pid));
        OkHttp.doPost("https://www.zhaoapi.cn/product/getProductDetail", map, new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {

            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                if(response.isSuccessful()){
                    String string = response.body().string();
                    Gson gson=new Gson();
                    XiangQingBean xxBean = gson.fromJson(string, XiangQingBean.class);
                    presenter.OnSuccess(xxBean);
                }
            }
        });
    }
}

presenter文件夹下LeftIpresenter

import com.bwie.test.bean.LeftBean;

public interface LeftIpresenter {
    void OnSuccess(LeftBean leftbean);
}

LeftPresenter

import com.bwie.test.bean.LeftBean;
import com.bwie.test.model.LeftModel;
import com.bwie.test.view.LeftView;

public class LeftPresenter implements LeftIpresenter{
    LeftModel left;
    LeftView leftView;

    public LeftPresenter( LeftView leftView) {
        this.leftView = leftView;
        left = new LeftModel();
    }

    public void getleftdata(){
        left.left(this);
    }

    @Override
    public void OnSuccess(LeftBean leftbean) {
        leftView.Onsuccess(leftbean);
    }
}

RightIpresenter

import com.bwie.test.bean.RightBean;

public interface RightIpresenter {
    void OnrightSuccess(RightBean rightBean);
}

Rightpresenter

import com.bwie.test.bean.RightBean;
import com.bwie.test.model.RightModel;
import com.bwie.test.view.RightView;

public class Rightpresenter implements RightIpresenter{
    RightModel right;
    RightView rightView;

    public Rightpresenter(RightView rightView) {
        this.rightView = rightView;
        right = new RightModel();
    }

    public void getrightdata(int cid) {
        right.getrightdata(cid,this);
    }

    @Override
    public void OnrightSuccess(RightBean rightBean) {
        rightView.RightSuccess(rightBean);
    }
}

SouSuoIpresenter

import com.bwie.test.bean.SouSuoBean;

public interface SouSuoIpresenter {
    void OnSuccess(SouSuoBean ssBean);
}

SouSuoPresenter

import com.bwie.test.bean.SouSuoBean;
import com.bwie.test.model.SouSuoMoudle;
import com.bwie.test.view.SouSuoView;

public class SouSuoPresenter implements SouSuoIpresenter{
    SouSuoMoudle souSuoMoudle;
    SouSuoView ssView;

    public SouSuoPresenter(SouSuoView ssView) {
        this.ssView = ssView;
        souSuoMoudle = new SouSuoMoudle();
    }

    public void getdata(int pscid,int page) {
        souSuoMoudle.ssdata(pscid, this,page);
    }

    @Override
    public void OnSuccess(SouSuoBean ssBean) {
        ssView.OnSuccess(ssBean);
    }
}

XiangQingIpresenrer

import com.bwie.test.bean.XiangQingBean;

public interface XiangQingIpresenrer {
    void OnSuccess(XiangQingBean xiangQingBean);
}

XiangQingPresenter

import com.bwie.test.bean.XiangQingBean;
import com.bwie.test.model.XiangQingMoudle;
import com.bwie.test.view.XaingQingView;

public class XiangQingPresenter implements XiangQingIpresenrer{
    XiangQingMoudle xiangQingMoudle;
    XaingQingView xaingQingView;

    public XiangQingPresenter(XaingQingView xaingQingView) {
        this.xaingQingView = xaingQingView;
        xiangQingMoudle = new XiangQingMoudle();
    }

    public void getdata(int pid){
        xiangQingMoudle.getdata(pid,this);
    }

    @Override
    public void OnSuccess(XiangQingBean xiangQingBean) {
        xaingQingView.OnSuccess(xiangQingBean);
    }
}

view文件夹下LeftView

import com.bwie.test.bean.LeftBean;

public interface LeftView {
    void Onsuccess(LeftBean leftBean);
}

RightView

import com.bwie.test.bean.RightBean;

public interface RightView {
    void RightSuccess(RightBean rightBean);
}

SouSuoView

import com.bwie.test.bean.SouSuoBean;

public interface SouSuoView {
    void OnSuccess(SouSuoBean souSuoBean);
}

XaingQingView

import com.bwie.test.bean.XiangQingBean;

public interface XaingQingView {
    void OnSuccess(XiangQingBean xiangQingBean);
}

ZoomImageView

import android.content.Context;
import android.graphics.Matrix;
import android.graphics.RectF;
import android.graphics.drawable.Drawable;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.util.Log;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.ScaleGestureDetector;
import android.view.View;
import android.view.ViewConfiguration;
import android.view.ViewTreeObserver;

public class ZoomImageView extends android.support.v7.widget.AppCompatImageView 
 implements ViewTreeObserver.OnGlobalLayoutListener, ScaleGestureDetector.OnScaleGestureListener,
     View.OnTouchListener {

    private boolean mOnce;

    /**
     * 初始化时缩放的值
     */
    private float mInitScale;

    /**
     * 双击放大值到达的值
     */
    private float mMidScale;

    /**
     * 放大的最大值
     */
    private float mMaxScale;

    private Matrix mScaleMatrix;

    /**
     * 捕获用户多指触控时缩放的比例
     */
    private ScaleGestureDetector mScaleGestureDetector;

    /**
     * 记录上一次多点触控的数量
     */
    private int mLastPointerCount;

    private float mLastX;
    private float mLastY;

    private int mTouchSlop;
    private boolean isCanDrag;

    private boolean isCheckLeftAndRight;
    private boolean isCheckTopAndBottom;

    private GestureDetector mGestureDetector;

    private boolean isAutoScale;

    public ZoomImageView(Context context) {
        this(context, null);
    }

    public ZoomImageView(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
    }

    public ZoomImageView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        // init
        mScaleMatrix = new Matrix();
        setScaleType(ScaleType.MATRIX);
        setOnTouchListener(this);
        mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
        mScaleGestureDetector = new ScaleGestureDetector(context, this);
        mGestureDetector = new GestureDetector(context,
                new GestureDetector.SimpleOnGestureListener() {
                    @Override
                    public boolean onDoubleTap(MotionEvent e) {

                        if (isAutoScale) {
                            return true;
                        }

                        float x = e.getX();
                        float y = e.getY();

                        if (getScale() < mMidScale) {
                            postDelayed(new AutoScaleRunnable(mMidScale, x, y), 16);
                            isAutoScale = true;
                        } else {
                            postDelayed(new AutoScaleRunnable(mInitScale, x, y), 16);
                            isAutoScale = true;
                        }
                        return true;
                    }
                });
    }

    /**
     * 自动放大与缩小
     * @author [email protected]
     */
    private class AutoScaleRunnable implements Runnable {
        /**
         * 缩放的目标值
         */
        private float mTargetScale;
        // 缩放的中心点
        private float x;
        private float y;

        private final float BIGGER = 1.07f;
        private final float SMALL = 0.93f;

        private float tmpScale;

        /**
         * @param mTargetScale
         * @param x
         * @param y
         */
        public AutoScaleRunnable(float mTargetScale, float x, float y) {
            this.mTargetScale = mTargetScale;
            this.x = x;
            this.y = y;

            if (getScale() < mTargetScale) {
                tmpScale = BIGGER;
            }
            if (getScale() > mTargetScale) {
                tmpScale = SMALL;
            }
        }

        @Override
        public void run() {
            //进行缩放
            mScaleMatrix.postScale(tmpScale, tmpScale, x, y);
            checkBorderAndCenterWhenScale();
            setImageMatrix(mScaleMatrix);

            float currentScale = getScale();

            if ((tmpScale >1.0f && currentScale <mTargetScale) ||(tmpScale<1.0f 
                               &&currentScale>mTargetScale)) {
                //这个方法是重新调用run()方法
                postDelayed(this, 16);
            }else{
                //设置为我们的目标值
                float scale = mTargetScale/currentScale;
                mScaleMatrix.postScale(scale, scale, x, y);
                checkBorderAndCenterWhenScale();
                setImageMatrix(mScaleMatrix);

                isAutoScale = false;
            }
        }
    }

    /**
     * 获取ImageView加载完成的图片
     */
    @Override
    public void onGlobalLayout() {
        if (!mOnce) {
            // 得到控件的宽和高
            int width = getWidth();
            int height = getHeight();

            // 得到我们的图片,以及宽和高
            Drawable drawable = getDrawable();
            if (drawable == null) {
                return;
            }
            int dh = drawable.getIntrinsicHeight();
            int dw = drawable.getIntrinsicWidth();

            float scale = 0.5f;

            // 图片的宽度大于控件的宽度,图片的高度小于空间的高度,我们将其缩小
            if (dw > width && dh < height) {
                scale = width * 1.0f / dw;
            }

            // 图片的宽度小于控件的宽度,图片的高度大于空间的高度,我们将其缩小
            if (dh > height && dw < width) {
                scale = height * 1.0f / dh;
            }

            // 缩小值
            if (dw > width && dh > height) {
                scale = Math.min(width * 1.0f / dw, height * 1.0f / dh);
            }

            // 放大值
            if (dw < width && dh < height) {
                scale = Math.min(width * 1.0f / dw, height * 1.0f / dh);
            }

            /**
             * 得到了初始化时缩放的比例
             */
            mInitScale = scale;
            mMaxScale = mInitScale * 4;
            mMidScale = mInitScale * 2;

            // 将图片移动至控件的中间
            int dx = getWidth() / 2 - dw / 2;
            int dy = getHeight() / 2 - dh / 2;

            mScaleMatrix.postTranslate(dx, dy);
            mScaleMatrix.postScale(mInitScale, mInitScale, width / 2,
                    height / 2);
            setImageMatrix(mScaleMatrix);

            mOnce = true;
        }
    }

    /**
     * 注册OnGlobalLayoutListener这个接口
     */
    @Override
    protected void onAttachedToWindow() {
        super.onAttachedToWindow();
        getViewTreeObserver().addOnGlobalLayoutListener(this);
    }

    /**
     * 取消OnGlobalLayoutListener这个接口
     */
    @SuppressWarnings("deprecation")
    @Override
    protected void onDetachedFromWindow() {
        super.onDetachedFromWindow();
        getViewTreeObserver().removeGlobalOnLayoutListener(this);
    }

    /**
     * 获取当前图片的缩放值
     *
     * @return
     */
    public float getScale() {
        float[] values = new float[9];
        mScaleMatrix.getValues(values);
        return values[Matrix.MSCALE_X];
    }

    // 缩放区间时initScale maxScale
    @Override
    public boolean onScale(ScaleGestureDetector detector) {
        float scale = getScale();
        float scaleFactor = detector.getScaleFactor();

        if (getDrawable() == null) {
            return true;
        }

        // 缩放范围的控制
        if ((scale < mMaxScale && scaleFactor > 1.0f)
                || (scale > mInitScale && scaleFactor < 1.0f)) {
            if (scale * scaleFactor < mInitScale) {
                scaleFactor = mInitScale / scale;
            }

            if (scale * scaleFactor > mMaxScale) {
                scale = mMaxScale / scale;
            }

            // 缩放
            mScaleMatrix.postScale(scaleFactor, scaleFactor,
                    detector.getFocusX(), detector.getFocusY());

            checkBorderAndCenterWhenScale();

            setImageMatrix(mScaleMatrix);
        }

        return true;
    }

    /**
     * 获得图片放大缩小以后的宽和高,以及left,right,top,bottom
     *
     * @return
     */
    private RectF getMatrixRectF() {
        Matrix matrix = mScaleMatrix;
        RectF rectF = new RectF();
        Drawable d = getDrawable();
        if (d != null) {
            rectF.set(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
            matrix.mapRect(rectF);
        }
        return rectF;
    }

    /**
     * 在缩放的时候进行边界以及我们的位置的控制
     */
    private void checkBorderAndCenterWhenScale() {
        RectF rectF = getMatrixRectF();
        float deltaX = 0;
        float deltaY = 0;

        int width = getWidth();
        int height = getHeight();

        // 缩放时进行边界检测,防止出现白边
        if (rectF.width() >= width) {
            if (rectF.left > 0) {
                deltaX = -rectF.left;
            }
            if (rectF.right < width) {
                deltaX = width - rectF.right;
            }
        }

        if (rectF.height() >= height) {
            if (rectF.top > 0) {
                deltaY = -rectF.top;
            }
            if (rectF.bottom < height) {
                deltaY = height - rectF.bottom;
            }
        }

        /**
         * 如果宽度或高度小于空间的宽或者高,则让其居中
         */
        if (rectF.width() < width) {
            deltaX = width / 2f - rectF.right + rectF.width() / 2f;
        }

        if (rectF.height() < height) {
            deltaY = height / 2f - rectF.bottom + rectF.height() / 2f;
        }

        mScaleMatrix.postTranslate(deltaX, deltaY);
    }

    @Override
    public boolean onScaleBegin(ScaleGestureDetector detector) {

        return true;
    }

    @Override
    public void onScaleEnd(ScaleGestureDetector detector) {

    }

    @Override
    public boolean onTouch(View v, MotionEvent event) {

        if (mGestureDetector.onTouchEvent(event)) {
            return true;
        }

        mScaleGestureDetector.onTouchEvent(event);

        float x = 0;
        float y = 0;
        // 拿到多点触控的数量
        int pointerCount = event.getPointerCount();
        for (int i = 0; i < pointerCount; i++) {
            x += event.getX(i);
            y += event.getY(i);
        }

        x /= pointerCount;
        y /= pointerCount;

        if (mLastPointerCount != pointerCount) {
            isCanDrag = false;
            mLastX = x;
            mLastY = y;
        }
        mLastPointerCount = pointerCount;
        RectF rectF = getMatrixRectF();
        switch (event.getAction()) {

            case MotionEvent.ACTION_DOWN:
                if (rectF.width()>getWidth() +0.01|| rectF.height()>getHeight()+0.01) {
                    if(getParent() instanceof ViewPager)
                        getParent().requestDisallowInterceptTouchEvent(true);
                }
                break;

            case MotionEvent.ACTION_MOVE:
                if (rectF.width()>getWidth()+0.01 || rectF.height()>getHeight()+0.01) {
                    if(getParent() instanceof ViewPager){
                        Log.e("---","----+++");
                        getParent().requestDisallowInterceptTouchEvent(true);
                    }
                }
                float dx = x - mLastX;
                float dy = y - mLastY;

                if (!isCanDrag) {
                    isCanDrag = isMoveAction(dx, dy);
                }

                if (isCanDrag) {
                    if (getDrawable() != null) {
                        isCheckLeftAndRight = isCheckTopAndBottom = true;
                        // 如果宽度小于控件宽度,不允许横向移动
                        if (rectF.width() < getWidth()) {
                            isCheckLeftAndRight = false;
                            dx = 0;
                        }
                        // 如果高度小于控件高度,不允许纵向移动
                        if (rectF.height() < getHeight()) {
                            isCheckTopAndBottom = false;
                            dy = 0;
                        }
                        mScaleMatrix.postTranslate(dx, dy);

                        checkBorderWhenTranslate();

                        setImageMatrix(mScaleMatrix);
                    }
                }
                mLastX = x;
                mLastY = y;
                break;
            case MotionEvent.ACTION_UP:
            case MotionEvent.ACTION_CANCEL:
                mLastPointerCount = 0;
                break;

            default:
                break;
        }

        return true;
    }

    /**
     * 当移动时进行边界检查
     */
    private void checkBorderWhenTranslate() {
        RectF rectF = getMatrixRectF();
        float deltaX = 0;
        float deltaY = 0;

        int width = getWidth();
        int heigth = getHeight();

        if (rectF.top > 0 && isCheckTopAndBottom) {
            deltaY = -rectF.top;
        }
        if (rectF.bottom < heigth && isCheckTopAndBottom) {
            deltaY = heigth - rectF.bottom;
        }
        if (rectF.left > 0 && isCheckLeftAndRight) {
            deltaX = -rectF.left;
        }
        if (rectF.right < width && isCheckLeftAndRight) {
            deltaX = width - rectF.right;
        }
        mScaleMatrix.postTranslate(deltaX, deltaY);

    }

    /**
     * 判断是否是move
     *
     * @param dx
     * @param dy
     * @return
     */
    private boolean isMoveAction(float dx, float dy) {
        return Math.sqrt(dx * dx + dy * dy) > mTouchSlop;
    }
}

util文件夹下APIUtils

public class APIUtils {
    public static String feileiurl="https://www.zhaoapi.cn/product/getCatagory";

    public static String shopurl="https://www.zhaoapi.cn/product/getProductCatagory";

    public static String zileiurl="https://www.zhaoapi.cn/product/getProducts";

    public static String Xiangqingurl="https://www.zhaoapi.cn/product/getProductDetail";

    public static String ShopCarurl="https://www.zhaoapi.cn/product/addCart";
}

OkHttp

import android.os.Environment;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;

import okhttp3.Cache;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;

public class OkHttp {
     private static OkHttpClient okHttpClient = null;

     private OkHttp() {
     }

         public static OkHttpClient getInstance() {
             if (okHttpClient == null) {
                 //加同步安全
                 synchronized (OkHttp.class) {
                     if (okHttpClient == null) {
                         //okhttp可以缓存数据....指定缓存路径
                         File sdcache = new File(Environment.getExternalStorageDirectory(), "cache");
                         //指定缓存大小
                         int cacheSize = 10 * 1024 * 1024;

                         okHttpClient = new OkHttpClient.Builder()//构建器
                                 .connectTimeout(15, TimeUnit.SECONDS)//连接超时
                                 .writeTimeout(20, TimeUnit.SECONDS)//写入超时
                                 .readTimeout(20, TimeUnit.SECONDS)//读取超时
                                 .cache(new Cache(sdcache.getAbsoluteFile(), cacheSize))
                                 .build();
                     }
                 }
             }
             return okHttpClient;
         }

    public static void doGet(String oldUrl, Callback callback) {
        //要添加的公共参数...map
        Map<String,String> map = new HashMap<>();
        map.put("source","android");

        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append(oldUrl);

        if (oldUrl.contains("?")){
            if (oldUrl.indexOf("?") == oldUrl.length()-1){
            }else {
                stringBuilder.append("&");
            }
        }else {
            stringBuilder.append("?");
        }
        for (Map.Entry<String,String> entry: map.entrySet()) {
            //拼接
            stringBuilder.append(entry.getKey())
                    .append("=")
                    .append(entry.getValue())
                    .append("&");
        }
        if (stringBuilder.indexOf("&") != -1){
            stringBuilder.deleteCharAt(stringBuilder.lastIndexOf("&"));
        }
        String newUrl = stringBuilder.toString();
        OkHttpClient okHttpClient = getInstance();
        Request request = new Request.Builder().url(newUrl).build();
        Call call = okHttpClient.newCall(request);
        call.enqueue(callback);
    }

    public static void doPost(String url, Map<String, String> params, Callback callback) {
             Map<String,String> map = new HashMap<>();
             map.put("source","android");
             OkHttpClient okHttpClient = getInstance();

             FormBody.Builder builder = new FormBody.Builder();
             for (String key : params.keySet()) {
                 builder.add(key, params.get(key));
             }
             for (String key : map.keySet()) {
                 builder.add(key, map.get(key));
             }
             Request request = new Request.Builder().url(url).post(builder.build()).build();

             Call call = okHttpClient.newCall(request);
             call.enqueue(callback);
         }
}

使用的依赖

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
compile 'com.jcodecraeer:xrecyclerview:1.5.2'
compile 'com.android.support:recyclerview-v7:26.0.0-alpha1'
compile 'com.squareup.okhttp3:okhttp:3.9.1'
compile 'com.squareup.okio:okio:1.13.0'
compile 'com.google.code.gson:gson:2.6.2'

bean文件夹下LeftBean

import java.util.List;

public class LeftBean {
    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 int cid;
        private String createtime;
        private String icon;
        private int ishome;
        private String name;

        public int getCid() {
            return cid;
        }

        public void setCid(int cid) {
            this.cid = cid;
        }

        public String getCreatetime() {
            return createtime;
        }

        public void setCreatetime(String createtime) {
            this.createtime = createtime;
        }

        public String getIcon() {
            return icon;
        }

        public void setIcon(String icon) {
            this.icon = icon;
        }

        public int getIshome() {
            return ishome;
        }

        public void setIshome(int ishome) {
            this.ishome = ishome;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }
}

RightBean

import java.util.List;

public class RightBean {
    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 cid;
        private String name;
        private String pcid;
        private List<ListBean> list;

        public String getCid() {
            return cid;
        }

        public void setCid(String cid) {
            this.cid = cid;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getPcid() {
            return pcid;
        }

        public void setPcid(String pcid) {
            this.pcid = pcid;
        }

        public List<ListBean> getList() {
            return list;
        }

        public void setList(List<ListBean> list) {
            this.list = list;
        }

        public static class ListBean {
            private String icon;
            private String name;
            private int pcid;
            private int pscid;

            public String getIcon() {
                return icon;
            }

            public void setIcon(String icon) {
                this.icon = icon;
            }

            public String getName() {
                return name;
            }

            public void setName(String name) {
                this.name = name;
            }

            public int getPcid() {
                return pcid;
            }

            public void setPcid(int pcid) {
                this.pcid = pcid;
            }

            public int getPscid() {
                return pscid;
            }

            public void setPscid(int pscid) {
                this.pscid = pscid;
            }
        }
    }
}

SouSuoBean

import java.util.List;

public class SouSuoBean {

    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 {

        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;
        }
    }
}

XiangQingBean

public class XiangQingBean {
    private String msg;
    private SellerBean seller;
    private String code;
    private DataBean data;

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public SellerBean getSeller() {
        return seller;
    }

    public void setSeller(SellerBean seller) {
        this.seller = seller;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public DataBean getData() {
        return data;
    }

    public void setData(DataBean data) {
        this.data = data;
    }

    public static class SellerBean {
        private String description;
        private String icon;
        private String name;
        private int productNums;
        private double score;
        private int sellerid;

        public String getDescription() {
            return description;
        }

        public void setDescription(String description) {
            this.description = description;
        }

        public String getIcon() {
            return icon;
        }

        public void setIcon(String icon) {
            this.icon = icon;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public int getProductNums() {
            return productNums;
        }

        public void setProductNums(int productNums) {
            this.productNums = productNums;
        }

        public double getScore() {
            return score;
        }

        public void setScore(double score) {
            this.score = score;
        }

        public int getSellerid() {
            return sellerid;
        }

        public void setSellerid(int sellerid) {
            this.sellerid = sellerid;
        }
    }

    public static class DataBean {

        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;
        }
    }
}

猜你喜欢

转载自blog.csdn.net/frimary/article/details/80198684