多条目+Xbanner

依赖

** implementation ‘com.google.code.gson:gson:2.8.5’
implementation ‘com.github.bumptech.glide:glide:4.9.0’
implementation ‘com.google.guava:guava-io:r03’
implementation ‘com.mcxiaoke.volley:library:1.0.19’
implementation ‘com.github.xiaohaibin:XBanner:1.6.4’( maven { url ‘https://jitpack.io’ })
implementation ‘com.android.support:recyclerview-v7:28.0.0’**

记着AndroidManifest.xml中写上MyApp

package com.example.lmx.moniti1;

import android.app.Application;

import com.android.volley.RequestQueue;
import com.android.volley.toolbox.Volley;

public class MyApp extends Application {

    private static RequestQueue requestQueue;

    @Override
    public void onCreate() {
        super.onCreate();
        requestQueue = Volley.newRequestQueue(getApplicationContext());

    }

    public static RequestQueue queue() {
        return requestQueue;
    }
}

HttoVolley

**package com.example.lmx.moniti1;

import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;

import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;


public class HttpVolley {

    private static HttpVolley httpVolley;
    private StringRequest stringRequest;

    public static synchronized HttpVolley getInstance() {
        if (httpVolley == null) {
            httpVolley = new HttpVolley();
        }
        return httpVolley;
    }

    public boolean isNet(Context context) {
        if (context != null) {
            ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo networkInfo = manager.getActiveNetworkInfo();
            if (networkInfo != null) {
                return networkInfo.isAvailable();
            }
        }
        return false;
    }

    public void VolleyHttpGet(String url, final VolleyCallBack callBack) {
        stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                callBack.onSuccess(response);
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                callBack.onFail(error);
            }
        });
        stringRequest.setTag("get");
        MyApp.queue().add(stringRequest);
    }

    public interface VolleyCallBack {
        void onSuccess(String data);

        void onFail(VolleyError error);
    }
}
**

MVP框架

接口

package com.example.lmx.moniti1.mvp;

public interface Contract {
   interface IView {
        void getPreData(String data);
    }

    interface IModel {
        void getRequester(String url, ModelCallBack callBack);

        interface ModelCallBack {
            void onSuccess(String data);

            void onFail();
        }
    }

    interface IPresenter {
        void attch(IView iView);

        void detch();

        void login(String url);
    }
}

Model

package com.example.lmx.moniti1.mvp;

import com.android.volley.VolleyError;
import com.example.lmx.moniti1.HttpVolley;

public class Model implements Contract.IModel {
    @Override
    public void getRequester(String url, final ModelCallBack callBack) {

        HttpVolley.getInstance().VolleyHttpGet(url, new HttpVolley.VolleyCallBack() {
            @Override
            public void onSuccess(String data) {
                callBack.onSuccess(data);
            }

            @Override
            public void onFail(VolleyError error) {

            }
        });
    }
}

Presenter

package com.example.lmx.moniti1.mvp;

public class Presenter implements Contract.IPresenter {

    private Model model;
    Contract.IView iview;

    @Override
    public void attch(Contract.IView iView) {
        model = new Model();
        this.iview = iView;
    }

    @Override
    public void detch() {
        if (model != null) {
            model = null;
        }
        if (iview != null) {
            iview = null;
        }
        System.gc();
    }

    @Override
    public void login(String url) {
        model.getRequester(url, new Contract.IModel.ModelCallBack() {
            @Override
            public void onSuccess(String data) {
                iview.getPreData(data);
            }

            @Override
            public void onFail() {

            }
        });
    }
}

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="vertical"
    tools:context=".MainActivity">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recy"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</LinearLayout>

MainActivity

package com.example.lmx.moniti1;

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.Toast;

import com.android.volley.VolleyError;
import com.example.lmx.moniti1.adapter.UrlAdapter;
import com.example.lmx.moniti1.bean.UrlBean;
import com.example.lmx.moniti1.bean.XbannerBean;
import com.example.lmx.moniti1.mvp.Contract;
import com.example.lmx.moniti1.mvp.Presenter;
import com.google.gson.Gson;
import com.stx.xhb.xbanner.XBanner;

import java.util.List;

public class MainActivity extends AppCompatActivity implements Contract.IView {

    private Presenter presenter;
    String Url = "http://172.17.8.100/small/commodity/v1/commodityList";
    private Gson gson;
    private RecyclerView recy;
    private UrlBean urlBean;
    String XbannerUrl = "http://172.17.8.100/movieApi/movie/v1/findHotMovieList?page=1&count=10";
    private XBanner xbanner;
    private List<XbannerBean.ResultBean> result;
    private UrlAdapter urlAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        presenter = new Presenter();
        presenter.attch(this);
        presenter.login(Url);
        recy = findViewById(R.id.recy);
        xbanner = findViewById(R.id.xbanenr);
        HttpVolley.getInstance().VolleyHttpGet(XbannerUrl, new HttpVolley.VolleyCallBack() {
            @Override
            public void onSuccess(String data) {
                Gson gson = new Gson();
                XbannerBean xbannerBean = gson.fromJson(data, XbannerBean.class);
                result = xbannerBean.getResult();
                urlAdapter = new UrlAdapter(MainActivity.this, urlBean, result);
                recy.setAdapter(urlAdapter);

            }

            @Override
            public void onFail(VolleyError error) {

            }
        });
    }

    @Override
    public void getPreData(String data) {
        gson = new Gson();
        urlBean = gson.fromJson(data, UrlBean.class);
        Toast.makeText(MainActivity.this, urlBean.getMessage(), Toast.LENGTH_SHORT).show();
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(MainActivity.this);
        linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
        recy.setLayoutManager(linearLayoutManager);
        urlAdapter = new UrlAdapter(MainActivity.this, urlBean, result);
        recy.setAdapter(urlAdapter);

    }
}

Xbanner布局

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <com.stx.xhb.xbanner.XBanner
        android:id="@+id/xbanenr"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        app:clipChildrenLeftRightMargin="40dp"
        app:isClipChildrenMode="true"
        app:isHandLoop="true"
        app:isShowNumberIndicator="true"
        app:pageChangeDuration="1000"
        app:AutoPlayTime="1000"
        app:pointsPosition="RIGHT"
        app:tipTextSize="14sp" />
</android.support.constraint.ConstraintLayout>

UrlAdapter

package com.example.lmx.moniti1.adapter;

import android.content.Context;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
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.example.lmx.moniti1.R;
import com.example.lmx.moniti1.XbannerActivity;
import com.example.lmx.moniti1.bean.UrlBean;
import com.example.lmx.moniti1.bean.XbannerBean;
import com.stx.xhb.xbanner.XBanner;

import java.util.List;

public class UrlAdapter extends RecyclerView.Adapter {
    Context context;
    UrlBean urlBean;
    List<XbannerBean.ResultBean> result;

    public UrlAdapter(Context context, UrlBean urlBean, List<XbannerBean.ResultBean> result) {
        this.context = context;
        this.urlBean = urlBean;
        this.result = result;
    }

    private static final String TAG = "UrlAdapter";
    int XbannerType = 0;
    int RxxpType = 1;
    int PzshType = 2;
    int MlssType = 3;

    @NonNull
    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        int itemViewType = getItemViewType(i);
        if (itemViewType == XbannerType) {
            View inflatexbanner = LayoutInflater.from(context).inflate(R.layout.head, viewGroup, false);
            return new ViewHolderXbanner(inflatexbanner);
        } else if (itemViewType == RxxpType) {
            View inflaterxxp = LayoutInflater.from(context).inflate(R.layout.show_rxxp, viewGroup, false);
            return new ViewHolderRxxp(inflaterxxp);
        } else if (itemViewType == PzshType) {
            View inflatepzsh = LayoutInflater.from(context).inflate(R.layout.show_pzsh, viewGroup, false);
            return new ViewHolderPzsh(inflatepzsh);
        } else {
            View inflatemlss = LayoutInflater.from(context).inflate(R.layout.show_mlss, viewGroup, false);
            return new ViewHolderMlss(inflatemlss);
        }
    }

    @Override
    public void onBindViewHolder(@NonNull final RecyclerView.ViewHolder viewHolder, int i) {
        if (i == 0) {
            ViewHolderXbanner viewHolderXbanner = (ViewHolderXbanner) viewHolder;
            viewHolderXbanner.xbanner.setData(result, null);
            viewHolderXbanner.xbanner.loadImage(new XBanner.XBannerAdapter() {
                @Override
                public void loadBanner(XBanner banner, Object model, View view, int position) {
                    Glide.with(context).load(result.get(position).getImageUrl()).into((ImageView) view);
                }
            });
            viewHolderXbanner.xbanner.setOnItemClickListener(new XBanner.OnItemClickListener() {
                @Override
                public void onItemClick(XBanner banner, Object model, View view, int position) {
                    Intent intent = new Intent(context, XbannerActivity.class);
                    intent.putExtra("position", position);
                    context.startActivity(intent);
                }
            });
        } else if (i == 1) {
            ViewHolderRxxp viewHolderRxxp = (ViewHolderRxxp) viewHolder;
            viewHolderRxxp.rxxp_title.setText(urlBean.getResult().getRxxp().getName());
            LinearLayoutManager rxxpmanager = new LinearLayoutManager(context);
            rxxpmanager.setOrientation(LinearLayoutManager.HORIZONTAL);
            viewHolderRxxp.rxxp_recy.setLayoutManager(rxxpmanager);
            List<UrlBean.ResultBean.RxxpBean.CommodityListBeanXX> commodityList = urlBean.getResult().getRxxp().getCommodityList();
            RxxpAdapter rxxpAdapter = new RxxpAdapter(context, commodityList);
            viewHolderRxxp.rxxp_recy.setAdapter(rxxpAdapter);
        } else if (i == 2) {
            ViewHolderPzsh viewHolderPzsh = (ViewHolderPzsh) viewHolder;
            viewHolderPzsh.pzsh_title.setText(urlBean.getResult().getPzsh().getName());
            GridLayoutManager pzshmanager = new GridLayoutManager(context, 2);
            viewHolderPzsh.pzsh_recy.setLayoutManager(pzshmanager);
            List<UrlBean.ResultBean.PzshBean.CommodityListBeanX> commodityList = urlBean.getResult().getPzsh().getCommodityList();
            PzshAdapter pzshAdapter = new PzshAdapter(context, commodityList);
            viewHolderPzsh.pzsh_recy.setAdapter(pzshAdapter);
        } else if (i == 3) {
            ViewHolderMlss viewHolderMlss = (ViewHolderMlss) viewHolder;
            Log.i("Ppp", "onBindViewHolder: " + urlBean.getResult().getMlss().getName() + "=========");
            viewHolderMlss.mlss_title.setText(urlBean.getResult().getMlss().getName());
            LinearLayoutManager mlssmannager = new LinearLayoutManager(context);
            mlssmannager.setOrientation(LinearLayoutManager.VERTICAL);
            viewHolderMlss.mlss_recy.setLayoutManager(mlssmannager);
            List<UrlBean.ResultBean.MlssBean.CommodityListBean> commodityList = urlBean.getResult().getMlss().getCommodityList();
            MlssAdapter mlssAdapter = new MlssAdapter(context, commodityList);
            viewHolderMlss.mlss_recy.setAdapter(mlssAdapter);
        }
    }

    @Override
    public int getItemCount() {
        return 4;
    }

    @Override
    public int getItemViewType(int position) {
        return position;
    }

    //XBanner
    private class ViewHolderXbanner extends RecyclerView.ViewHolder {

        private final XBanner xbanner;

        public ViewHolderXbanner(@NonNull View itemView) {
            super(itemView);
            xbanner = itemView.findViewById(R.id.xbanenr);
        }
    }

    //热销新品
    private class ViewHolderRxxp extends RecyclerView.ViewHolder {

        private final TextView rxxp_title;
        private final RecyclerView rxxp_recy;

        public ViewHolderRxxp(@NonNull View itemView) {
            super(itemView);
            rxxp_title = itemView.findViewById(R.id.show_rxxp_title);
            rxxp_recy = itemView.findViewById(R.id.show_rxxp_recy);
        }
    }

    private class ViewHolderPzsh extends RecyclerView.ViewHolder {

        private final TextView pzsh_title;
        private final RecyclerView pzsh_recy;

        public ViewHolderPzsh(@NonNull View itemView) {
            super(itemView);
            pzsh_title = itemView.findViewById(R.id.show_pzsh_title);
            pzsh_recy = itemView.findViewById(R.id.show_pzsh_recy);
        }
    }

    private class ViewHolderMlss extends RecyclerView.ViewHolder {

        private final TextView mlss_title;
        private final RecyclerView mlss_recy;

        public ViewHolderMlss(@NonNull View itemView) {
            super(itemView);
            mlss_title = itemView.findViewById(R.id.show_mlss_title);
            mlss_recy = itemView.findViewById(R.id.show_mlss_recy);
        }
    }
}

show_rxpp

<?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="wrap_content"
    android:orientation="vertical">

    <TextView
        android:id="@+id/show_rxxp_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:gravity="center"
        android:textSize="24dp" />

    <android.support.v7.widget.RecyclerView
        android:id="@+id/show_rxxp_recy"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</LinearLayout>

show_pzsh

<?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="wrap_content"
    android:orientation="vertical">

    <TextView
        android:id="@+id/show_pzsh_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:gravity="center"
        android:textSize="24dp" />

    <android.support.v7.widget.RecyclerView
        android:id="@+id/show_pzsh_recy"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</LinearLayout>

show_mlss

<?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="wrap_content"
    android:orientation="vertical">

    <TextView
        android:id="@+id/show_mlss_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:gravity="center"
        android:textSize="24dp" />

    <android.support.v7.widget.RecyclerView
        android:id="@+id/show_mlss_recy"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</LinearLayout>

show_rxxp_item

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="40dp"
    android:gravity="center"
    android:orientation="vertical">

    <ImageView
        android:id="@+id/show_rxxp_item_imageView"
        android:layout_width="120dp"
        android:layout_height="160dp" />
    <TextView
        android:layout_width="120dp"
        android:layout_height="80dp"
        android:id="@+id/show_rxxp_item_name"
        android:textSize="18sp"
        android:gravity="center"/>
    <TextView
        android:layout_width="120dp"
        android:layout_height="wrap_content"
        android:id="@+id/show_rxxp_item_price"
        android:textSize="18sp"
        android:layout_marginTop="10dp"
        android:textColor="#f19797"
        android:gravity="center"/>
</LinearLayout>

show_pzsh_item

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:orientation="vertical">

    <ImageView
        android:id="@+id/show_pzsh_item_imageView"
        android:layout_width="120dp"
        android:layout_height="160dp" />
    <TextView
        android:layout_width="120dp"
        android:layout_height="80dp"
        android:id="@+id/show_pzsh_item_name"
        android:textSize="18sp"
        android:gravity="center"/>
    <TextView
        android:layout_width="120dp"
        android:layout_height="wrap_content"
        android:id="@+id/show_pzsh_item_price"
        android:textSize="18sp"
        android:layout_marginTop="10dp"
        android:textColor="#f19797"
        android:gravity="center"/>
</LinearLayout>

show_mlss_item

<?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="wrap_content"
    android:gravity="center"
    android:orientation="horizontal">

    <ImageView
        android:id="@+id/show_mlss_item_imageView"
        android:layout_width="120dp"
        android:layout_height="160dp" />

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="160dp"
        android:layout_weight="1"
        android:orientation="vertical">

        <TextView
            android:id="@+id/show_mlss_item_name"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:gravity="center"
            android:textSize="18sp" />

        <TextView
            android:id="@+id/show_mlss_item_price"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_marginTop="10dp"
            android:layout_weight="1"
            android:gravity="center"
            android:textColor="#f19797"
            android:textSize="18sp" />
    </LinearLayout>
</LinearLayout>

RxxpAdapter

package com.example.lmx.moniti1.adapter;

import android.content.Context;
import android.support.annotation.NonNull;
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.example.lmx.moniti1.R;
import com.example.lmx.moniti1.bean.UrlBean;

import java.util.List;

public class RxxpAdapter extends RecyclerView.Adapter<RxxpAdapter.ViewHolder> {
    Context context;
    List<UrlBean.ResultBean.RxxpBean.CommodityListBeanXX> commodityList;

    public RxxpAdapter(Context context, List<UrlBean.ResultBean.RxxpBean.CommodityListBeanXX> commodityList) {
        this.context = context;
        this.commodityList = commodityList;
    }

    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        View inflate = LayoutInflater.from(context).inflate(R.layout.show_rxxp_item, viewGroup, false);
        return new ViewHolder(inflate);
    }

    @Override
    public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) {
        viewHolder.name.setText(commodityList.get(i).getCommodityName());
        viewHolder.price.setText(commodityList.get(i).getPrice()+"");
        Glide.with(context).load(commodityList.get(i).getMasterPic()).into(viewHolder.imageView);
    }

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

    public class ViewHolder extends RecyclerView.ViewHolder {

        private final ImageView imageView;
        private final TextView name, price;

        public ViewHolder(@NonNull View itemView) {
            super(itemView);
            imageView = itemView.findViewById(R.id.show_rxxp_item_imageView);
            name = itemView.findViewById(R.id.show_rxxp_item_name);
            price = itemView.findViewById(R.id.show_rxxp_item_price);
        }
    }
}

PzshAdapter

package com.example.lmx.moniti1.adapter;

import android.content.Context;
import android.support.annotation.NonNull;
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.example.lmx.moniti1.R;
import com.example.lmx.moniti1.bean.UrlBean;

import java.util.List;

public class PzshAdapter extends RecyclerView.Adapter<PzshAdapter.ViewHolder> {
    Context context;
    List<UrlBean.ResultBean.PzshBean.CommodityListBeanX> commodityList;

    public PzshAdapter(Context context, List<UrlBean.ResultBean.PzshBean.CommodityListBeanX> commodityList) {
        this.context = context;
        this.commodityList = commodityList;
    }

    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        View inflate = LayoutInflater.from(context).inflate(R.layout.show_pzsh_item, viewGroup, false);
        return new ViewHolder(inflate);
    }

    @Override
    public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) {
        viewHolder.name.setText(commodityList.get(i).getCommodityName());
        viewHolder.price.setText(commodityList.get(i).getPrice() + "");
        Glide.with(context).load(commodityList.get(i).getMasterPic()).into(viewHolder.imageView);
    }

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

    public class ViewHolder extends RecyclerView.ViewHolder {

        private final ImageView imageView;
        private final TextView name, price;

        public ViewHolder(@NonNull View itemView) {
            super(itemView);
            imageView = itemView.findViewById(R.id.show_pzsh_item_imageView);
            name = itemView.findViewById(R.id.show_pzsh_item_name);
            price = itemView.findViewById(R.id.show_pzsh_item_price);
        }
    }
}

MlssAdapter

package com.example.lmx.moniti1.adapter;

import android.content.Context;
import android.support.annotation.NonNull;
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.example.lmx.moniti1.R;
import com.example.lmx.moniti1.bean.UrlBean;

import java.util.List;

public class MlssAdapter extends RecyclerView.Adapter<MlssAdapter.ViewHolder> {
    Context context;
    List<UrlBean.ResultBean.MlssBean.CommodityListBean> commodityList;

    public MlssAdapter(Context context, List<UrlBean.ResultBean.MlssBean.CommodityListBean> commodityList) {
        this.context = context;
        this.commodityList = commodityList;
    }

    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        View inflate = LayoutInflater.from(context).inflate(R.layout.show_mlss_item, viewGroup, false);
        return new ViewHolder(inflate);
    }

    @Override
    public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) {
        viewHolder.name.setText(commodityList.get(i).getCommodityName());
        viewHolder.price.setText(commodityList.get(i).getPrice() + "");
        Glide.with(context).load(commodityList.get(i).getMasterPic()).into(viewHolder.imageView);
    }

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

    public class ViewHolder extends RecyclerView.ViewHolder {

        private final ImageView imageView;
        private final TextView name, price;

        public ViewHolder(@NonNull View itemView) {
            super(itemView);
            imageView = itemView.findViewById(R.id.show_mlss_item_imageView);
            name = itemView.findViewById(R.id.show_mlss_item_name);
            price = itemView.findViewById(R.id.show_mlss_item_price);
        }
    }
}

UrlBean

package com.example.lmx.moniti1.bean;

import java.util.List;

public class UrlBean {

    /**
     * message : 查询成功
     * result : {"mlss":{"commodityList":[{"commodityId":32,"commodityName":"唐狮女鞋冬季女鞋休闲鞋子女士女鞋百搭帆布鞋女士休闲鞋子女款板鞋休闲女鞋帆布鞋","masterPic":"http://172.17.8.100/images/small/commodity/nx/fbx/1/1.jpg","price":88,"saleNum":0},{"commodityId":8,"commodityName":"Lara style蜜颊润泽腮红","masterPic":"http://172.17.8.100/images/small/commodity/mzhf/cz/6/1.jpg","price":19,"saleNum":0}],"id":1003,"name":"魔力时尚"},"pzsh":{"commodityList":[{"commodityId":6,"commodityName":"轻柔系自然裸妆假睫毛","masterPic":"http://172.17.8.100/images/small/commodity/mzhf/cz/4/1.jpg","price":39,"saleNum":0},{"commodityId":5,"commodityName":"双头两用修容笔","masterPic":"http://172.17.8.100/images/small/commodity/mzhf/cz/3/1.jpg","price":39,"saleNum":156},{"commodityId":15,"commodityName":"玻儿精灵美妆蛋一个","masterPic":"http://172.17.8.100/images/small/commodity/mzhf/mzgj/5/1.jpg","price":6,"saleNum":0},{"commodityId":7,"commodityName":"蓝色之恋","masterPic":"http://172.17.8.100/images/small/commodity/mzhf/cz/5/1.jpg","price":29,"saleNum":0}],"id":1004,"name":"品质生活"},"rxxp":{"commodityList":[{"commodityId":17,"commodityName":"化妆镜","masterPic":"http://172.17.8.100/images/small/commodity/mzhf/mzgj/7/1.jpg","price":31,"saleNum":0},{"commodityId":27,"commodityName":"休闲马衔扣保暖绒里棉鞋懒人鞋毛毛鞋平底女雪地靴女短靴子豆豆鞋女鞋","masterPic":"http://172.17.8.100/images/small/commodity/nx/ddx/3/1.jpg","price":139,"saleNum":0},{"commodityId":21,"commodityName":"【加绒休闲 舒适轻便】秋冬增高休闲鞋厚底棉鞋运动户外通勤简约韩版女鞋","masterPic":"http://172.17.8.100/images/small/commodity/nx/bx/4/1.jpg","price":189,"saleNum":0}],"id":1002,"name":"热销新品"}}
     * status : 0000
     */

    private String message;
    private ResultBean result;
    private String status;

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public ResultBean getResult() {
        return result;
    }

    public void setResult(ResultBean result) {
        this.result = result;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public static class ResultBean {
        /**
         * mlss : {"commodityList":[{"commodityId":32,"commodityName":"唐狮女鞋冬季女鞋休闲鞋子女士女鞋百搭帆布鞋女士休闲鞋子女款板鞋休闲女鞋帆布鞋","masterPic":"http://172.17.8.100/images/small/commodity/nx/fbx/1/1.jpg","price":88,"saleNum":0},{"commodityId":8,"commodityName":"Lara style蜜颊润泽腮红","masterPic":"http://172.17.8.100/images/small/commodity/mzhf/cz/6/1.jpg","price":19,"saleNum":0}],"id":1003,"name":"魔力时尚"}
         * pzsh : {"commodityList":[{"commodityId":6,"commodityName":"轻柔系自然裸妆假睫毛","masterPic":"http://172.17.8.100/images/small/commodity/mzhf/cz/4/1.jpg","price":39,"saleNum":0},{"commodityId":5,"commodityName":"双头两用修容笔","masterPic":"http://172.17.8.100/images/small/commodity/mzhf/cz/3/1.jpg","price":39,"saleNum":156},{"commodityId":15,"commodityName":"玻儿精灵美妆蛋一个","masterPic":"http://172.17.8.100/images/small/commodity/mzhf/mzgj/5/1.jpg","price":6,"saleNum":0},{"commodityId":7,"commodityName":"蓝色之恋","masterPic":"http://172.17.8.100/images/small/commodity/mzhf/cz/5/1.jpg","price":29,"saleNum":0}],"id":1004,"name":"品质生活"}
         * rxxp : {"commodityList":[{"commodityId":17,"commodityName":"化妆镜","masterPic":"http://172.17.8.100/images/small/commodity/mzhf/mzgj/7/1.jpg","price":31,"saleNum":0},{"commodityId":27,"commodityName":"休闲马衔扣保暖绒里棉鞋懒人鞋毛毛鞋平底女雪地靴女短靴子豆豆鞋女鞋","masterPic":"http://172.17.8.100/images/small/commodity/nx/ddx/3/1.jpg","price":139,"saleNum":0},{"commodityId":21,"commodityName":"【加绒休闲 舒适轻便】秋冬增高休闲鞋厚底棉鞋运动户外通勤简约韩版女鞋","masterPic":"http://172.17.8.100/images/small/commodity/nx/bx/4/1.jpg","price":189,"saleNum":0}],"id":1002,"name":"热销新品"}
         */

        private MlssBean mlss;
        private PzshBean pzsh;
        private RxxpBean rxxp;

        public MlssBean getMlss() {
            return mlss;
        }

        public void setMlss(MlssBean mlss) {
            this.mlss = mlss;
        }

        public PzshBean getPzsh() {
            return pzsh;
        }

        public void setPzsh(PzshBean pzsh) {
            this.pzsh = pzsh;
        }

        public RxxpBean getRxxp() {
            return rxxp;
        }

        public void setRxxp(RxxpBean rxxp) {
            this.rxxp = rxxp;
        }

        public static class MlssBean {
            /**
             * commodityList : [{"commodityId":32,"commodityName":"唐狮女鞋冬季女鞋休闲鞋子女士女鞋百搭帆布鞋女士休闲鞋子女款板鞋休闲女鞋帆布鞋","masterPic":"http://172.17.8.100/images/small/commodity/nx/fbx/1/1.jpg","price":88,"saleNum":0},{"commodityId":8,"commodityName":"Lara style蜜颊润泽腮红","masterPic":"http://172.17.8.100/images/small/commodity/mzhf/cz/6/1.jpg","price":19,"saleNum":0}]
             * id : 1003
             * name : 魔力时尚
             */

            private int id;
            private String name;
            private List<CommodityListBean> commodityList;

            public int getId() {
                return id;
            }

            public void setId(int id) {
                this.id = id;
            }

            public String getName() {
                return name;
            }

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

            public List<CommodityListBean> getCommodityList() {
                return commodityList;
            }

            public void setCommodityList(List<CommodityListBean> commodityList) {
                this.commodityList = commodityList;
            }

            public static class CommodityListBean {
                /**
                 * commodityId : 32
                 * commodityName : 唐狮女鞋冬季女鞋休闲鞋子女士女鞋百搭帆布鞋女士休闲鞋子女款板鞋休闲女鞋帆布鞋
                 * masterPic : http://172.17.8.100/images/small/commodity/nx/fbx/1/1.jpg
                 * price : 88
                 * saleNum : 0
                 */

                private int commodityId;
                private String commodityName;
                private String masterPic;
                private int price;
                private int saleNum;

                public int getCommodityId() {
                    return commodityId;
                }

                public void setCommodityId(int commodityId) {
                    this.commodityId = commodityId;
                }

                public String getCommodityName() {
                    return commodityName;
                }

                public void setCommodityName(String commodityName) {
                    this.commodityName = commodityName;
                }

                public String getMasterPic() {
                    return masterPic;
                }

                public void setMasterPic(String masterPic) {
                    this.masterPic = masterPic;
                }

                public int getPrice() {
                    return price;
                }

                public void setPrice(int price) {
                    this.price = price;
                }

                public int getSaleNum() {
                    return saleNum;
                }

                public void setSaleNum(int saleNum) {
                    this.saleNum = saleNum;
                }
            }
        }

        public static class PzshBean {
            /**
             * commodityList : [{"commodityId":6,"commodityName":"轻柔系自然裸妆假睫毛","masterPic":"http://172.17.8.100/images/small/commodity/mzhf/cz/4/1.jpg","price":39,"saleNum":0},{"commodityId":5,"commodityName":"双头两用修容笔","masterPic":"http://172.17.8.100/images/small/commodity/mzhf/cz/3/1.jpg","price":39,"saleNum":156},{"commodityId":15,"commodityName":"玻儿精灵美妆蛋一个","masterPic":"http://172.17.8.100/images/small/commodity/mzhf/mzgj/5/1.jpg","price":6,"saleNum":0},{"commodityId":7,"commodityName":"蓝色之恋","masterPic":"http://172.17.8.100/images/small/commodity/mzhf/cz/5/1.jpg","price":29,"saleNum":0}]
             * id : 1004
             * name : 品质生活
             */

            private int id;
            private String name;
            private List<CommodityListBeanX> commodityList;

            public int getId() {
                return id;
            }

            public void setId(int id) {
                this.id = id;
            }

            public String getName() {
                return name;
            }

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

            public List<CommodityListBeanX> getCommodityList() {
                return commodityList;
            }

            public void setCommodityList(List<CommodityListBeanX> commodityList) {
                this.commodityList = commodityList;
            }

            public static class CommodityListBeanX {
                /**
                 * commodityId : 6
                 * commodityName : 轻柔系自然裸妆假睫毛
                 * masterPic : http://172.17.8.100/images/small/commodity/mzhf/cz/4/1.jpg
                 * price : 39
                 * saleNum : 0
                 */

                private int commodityId;
                private String commodityName;
                private String masterPic;
                private int price;
                private int saleNum;

                public int getCommodityId() {
                    return commodityId;
                }

                public void setCommodityId(int commodityId) {
                    this.commodityId = commodityId;
                }

                public String getCommodityName() {
                    return commodityName;
                }

                public void setCommodityName(String commodityName) {
                    this.commodityName = commodityName;
                }

                public String getMasterPic() {
                    return masterPic;
                }

                public void setMasterPic(String masterPic) {
                    this.masterPic = masterPic;
                }

                public int getPrice() {
                    return price;
                }

                public void setPrice(int price) {
                    this.price = price;
                }

                public int getSaleNum() {
                    return saleNum;
                }

                public void setSaleNum(int saleNum) {
                    this.saleNum = saleNum;
                }
            }
        }

        public static class RxxpBean {
            /**
             * commodityList : [{"commodityId":17,"commodityName":"化妆镜","masterPic":"http://172.17.8.100/images/small/commodity/mzhf/mzgj/7/1.jpg","price":31,"saleNum":0},{"commodityId":27,"commodityName":"休闲马衔扣保暖绒里棉鞋懒人鞋毛毛鞋平底女雪地靴女短靴子豆豆鞋女鞋","masterPic":"http://172.17.8.100/images/small/commodity/nx/ddx/3/1.jpg","price":139,"saleNum":0},{"commodityId":21,"commodityName":"【加绒休闲 舒适轻便】秋冬增高休闲鞋厚底棉鞋运动户外通勤简约韩版女鞋","masterPic":"http://172.17.8.100/images/small/commodity/nx/bx/4/1.jpg","price":189,"saleNum":0}]
             * id : 1002
             * name : 热销新品
             */

            private int id;
            private String name;
            private List<CommodityListBeanXX> commodityList;

            public int getId() {
                return id;
            }

            public void setId(int id) {
                this.id = id;
            }

            public String getName() {
                return name;
            }

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

            public List<CommodityListBeanXX> getCommodityList() {
                return commodityList;
            }

            public void setCommodityList(List<CommodityListBeanXX> commodityList) {
                this.commodityList = commodityList;
            }

            public static class CommodityListBeanXX {
                /**
                 * commodityId : 17
                 * commodityName : 化妆镜
                 * masterPic : http://172.17.8.100/images/small/commodity/mzhf/mzgj/7/1.jpg
                 * price : 31
                 * saleNum : 0
                 */

                private int commodityId;
                private String commodityName;
                private String masterPic;
                private int price;
                private int saleNum;

                public int getCommodityId() {
                    return commodityId;
                }

                public void setCommodityId(int commodityId) {
                    this.commodityId = commodityId;
                }

                public String getCommodityName() {
                    return commodityName;
                }

                public void setCommodityName(String commodityName) {
                    this.commodityName = commodityName;
                }

                public String getMasterPic() {
                    return masterPic;
                }

                public void setMasterPic(String masterPic) {
                    this.masterPic = masterPic;
                }

                public int getPrice() {
                    return price;
                }

                public void setPrice(int price) {
                    this.price = price;
                }

                public int getSaleNum() {
                    return saleNum;
                }

                public void setSaleNum(int saleNum) {
                    this.saleNum = saleNum;
                }
            }
        }
    }
}

XBannerBean

package com.example.lmx.moniti1.bean;

import java.util.List;

public class XbannerBean {

    /**
     * result : [{"followMovie":2,"id":20,"imageUrl":"http://172.17.8.100/images/movie/stills/ws/ws1.jpg","name":"无双","rank":1,"summary":"以代号\u201c画家\u201d(周润发 饰)为首的犯罪团伙,掌握了制造伪钞技术,难辨真伪,并在全球进行交易获取利益,引起警方高度重视。然而\u201c画家\u201d和其他成员的身份一直成谜,警方的破案进度遭受到了前所未有的挑战。在关键时刻,擅长绘画的李问(郭富城 饰)打开了破案的突破口,而\u201c画家\u201d的真实身份却让众人意想不到\u2026\u2026"},{"followMovie":2,"id":19,"imageUrl":"http://172.17.8.100/images/movie/stills/jhen/jhen1.jpg","name":"江湖儿女","rank":2,"summary":"故事起始于2001年的山西大同,模特巧巧(赵涛 饰)与出租车公司老板斌哥(廖凡 饰)是一对恋人,斌哥每天在外面呼朋唤友,巧巧却希望两人能够尽快步入婚姻的殿堂。然而一次斌哥在街头遭到竞争对手的袭击,巧巧为了保护斌哥在街头开枪,被判刑五年。巧巧出狱以后,开始寻找斌哥以便重新开始,然而事情却发生了意想不到的变化。"},{"followMovie":2,"id":16,"imageUrl":"http://172.17.8.100/images/movie/stills/dzd6qmwj/dzd6qmwj1.jpg","name":"碟中谍6:全面瓦解","rank":3,"summary":"有时好意会造成恶果,人反而被自己所造成的结果所困扰。伊桑·亨特(汤姆·克鲁斯 饰)和他的IMF团队(亚历克·鲍德温、西蒙·佩吉、文·瑞姆斯)将在最新的电影《碟中谍6:全面瓦解》中再度回归,他们会与观众们熟悉的盟友(丽贝卡·弗格森、米歇尔·莫娜汉)一起与时间赛跑,应对一次任务中出现的意外。亨利·卡维尔、安吉拉·贝塞特和凡妮莎·柯比也将加入本片的演员阵容,电影制片人克里斯托夫·迈考利将会再度担任导演。"},{"followMovie":2,"id":17,"imageUrl":"http://172.17.8.100/images/movie/stills/ftfb3/ftfb(3)1.jpg","name":"反贪风暴3","rank":4,"summary":"ICAC (廉政公署) 陆志廉(古天乐 饰),JFIU (联合财富情报组) 刘保强(张智霖 饰)分别侦查贪污及洗黑钱案,但苦无线索,这时廉政公署L组 (内部纪律调查组) 程德明(郑嘉颖 饰)收到举报,指陆志廉收贿1200万,陆无法辩解实时停职。刘发现陆被诬陷,并跟一直调查的洗黑钱案有着千丝万缕关系,同时怀疑银行主任游子新(栢天男 饰)协助罪恶集团洗黑钱;陆冒险搜集罪证却遭禁锢,命悬一线......."},{"followMovie":2,"id":18,"imageUrl":"http://172.17.8.100/images/movie/stills/hjxd/hjxd1.jpg","name":"黄金兄弟","rank":5,"summary":"狮王(郑伊健 饰)、火山(陈小春 饰)、Bill(谢天华 饰)、淡定(钱嘉乐 饰)、老鼠(林晓峰 饰)五个出生入死的兄弟,在恩师曹sir(曾志伟 饰)的带领下,为了救济儿童而偷取特效药,却惨遭设局,陷入枪林弹雨的险境之中。兄弟们抱着视死如归的豪情,展开一连串的追查与激战。他们明白,即使无法活着回来,也比一人活着痛快!"},{"followMovie":2,"id":21,"imageUrl":"http://172.17.8.100/images/movie/stills/zdn/zdn1.jpg","name":"找到你","rank":6,"summary":"律师李捷(姚晨 饰)正在离婚进行时,与前夫争夺女儿抚养权,拼命工作为给孩子最好的生活,幸有保姆孙芳(马伊琍 饰)帮忙照顾孩子视如己出。一日下班,李捷发现保姆孙芳和女儿毫无预兆地消失了,她内心最大的恐惧变成了现实。在追寻孙芳和女儿的下落时,她收到来自家人的谴责声讨,甚至遭到警方的怀疑。几乎崩溃的李捷,靠着惊人的勇气,踏上独自寻访的旅程。在追踪过程中,李捷逐渐接近了另一个女人\u2014\u2014保姆孙芳的人生故事,她的身份原先都是谎言,而真相也将浮出水面\u2026\u2026"}]
     * message : 查询成功
     * status : 0000
     */

    private String message;
    private String status;
    private List<ResultBean> result;

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public List<ResultBean> getResult() {
        return result;
    }

    public void setResult(List<ResultBean> result) {
        this.result = result;
    }

    public static class ResultBean {
        /**
         * followMovie : 2
         * id : 20
         * imageUrl : http://172.17.8.100/images/movie/stills/ws/ws1.jpg
         * name : 无双
         * rank : 1
         * summary : 以代号“画家”(周润发 饰)为首的犯罪团伙,掌握了制造伪钞技术,难辨真伪,并在全球进行交易获取利益,引起警方高度重视。然而“画家”和其他成员的身份一直成谜,警方的破案进度遭受到了前所未有的挑战。在关键时刻,擅长绘画的李问(郭富城 饰)打开了破案的突破口,而“画家”的真实身份却让众人意想不到……
         */

        private int followMovie;
        private int id;
        private String imageUrl;
        private String name;
        private int rank;
        private String summary;

        public int getFollowMovie() {
            return followMovie;
        }

        public void setFollowMovie(int followMovie) {
            this.followMovie = followMovie;
        }

        public int getId() {
            return id;
        }

        public void setId(int id) {
            this.id = id;
        }

        public String getImageUrl() {
            return imageUrl;
        }

        public void setImageUrl(String imageUrl) {
            this.imageUrl = imageUrl;
        }

        public String getName() {
            return name;
        }

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

        public int getRank() {
            return rank;
        }

        public void setRank(int rank) {
            this.rank = rank;
        }

        public String getSummary() {
            return summary;
        }

        public void setSummary(String summary) {
            this.summary = summary;
        }
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_44668058/article/details/89444705