xrecyclerView分页加载,多条目显示

该博客介绍了如何在Android应用中使用xrecyclerView进行分页加载,并展示了如何处理多条目显示。内容涵盖model包中的GoodsAdapter、GoodsModel等类,presenter包的GoodsPresenter,以及view包的MainActivity。同时,涉及到util包的网络请求工具如OkHttpUtils和数据交互接口,以及布局文件activity_main.xml和item模板。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

model包


GoodsAdapter

public class GoodsAdapter extends RecyclerView.Adapter{

    public static final int TYPE_ONE_IMAGE = 0;
    public static final int TYPE_TWO_IMAGE = 1;
    private Context context;
    private List<GoodsListBean.DataBean> data = new ArrayList<>();

    public GoodsAdapter(Context context) {
        this.context = context;
    }

    //刷新列表数据
    public void updateList(List<GoodsListBean.DataBean> data) {
        this.data.clear();
        addList(data);
        notifyDataSetChanged();
    }

    //加载下一页数据
    public void addList(List<GoodsListBean.DataBean> data) {
        this.data.addAll(data);
        notifyDataSetChanged();
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view;
        RecyclerView.ViewHolder holder = null;
        switch (viewType) {
            case 0:
                view = View.inflate(context, R.layout.item_goods_list, null);
                holder = new GoodsViewHolder(view);
                break;
            case 1:
                view = View.inflate(context, R.layout.item_goods_twolist, null);
                holder = new GoodsTwoViewHolder(view);
        }
        return holder;
    }


    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        switch (getItemViewType(position)) {
            case 0:
                GoodsViewHolder holderOne = (GoodsViewHolder) holder;
                String image = data.get(position).getImages();

                String pic = image.split("\\|")[0];

                holderOne.img.setImageURI(pic);

                holderOne.title.setText(data.get(position).getTitle());
                break;
            case 1:
                GoodsTwoViewHolder holdertwo = (GoodsTwoViewHolder) holder;
                String images = data.get(position).getImages();

                String pic_url = images.split("\\|")[0];

                holdertwo.img.setImageURI(pic_url);

                holdertwo.title.setText(data.get(position).getTitle());






        }

    }

    @Override
    public int getItemViewType(int position) {


        if (position%2==0) {
            return TYPE_TWO_IMAGE;
        } else {
            return TYPE_ONE_IMAGE;
        }
    }

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

    class GoodsViewHolder extends RecyclerView.ViewHolder {
        public TextView title;
        public SimpleDraweeView img;

        public GoodsViewHolder(View itemView) {
            super(itemView);
            title = itemView.findViewById(R.id.tv);
            img = itemView.findViewById(R.id.img);
        }
    }

    class GoodsTwoViewHolder extends RecyclerView.ViewHolder {
        public TextView title;
        public SimpleDraweeView img;

        public GoodsTwoViewHolder(View itemView) {
            super(itemView);
            title = itemView.findViewById(R.id.tv);
            img = itemView.findViewById(R.id.img);
        }
    }

}
GoodsModel
public class GoodsModel implements IModel {
    @Override
    public void getData(String pscid,String page, final IPresenter iPresenter) {
        Map<String,String> params=new HashMap<>();
        params.put("pscid",pscid);
        OkHttpUtils okHttpUtils= OkHttpUtils.getInstance();
        okHttpUtils.doPost(HttpConfig.GoodsListUrl, params, new OnFinishListener() {
            @Override
            public void onSuccess(String json) {
                iPresenter.onSuccess(json);

            }

            @Override
            public void onFailed(String error) {
                iPresenter.onFailed(error);

            }
        });

    }
}
IModel
public interface IModel {
    void getData(String pscid,String page, IPresenter iPresenter);
}
MyApp
public class MyApp extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        Fresco.initialize(this);

    }
}

presenter包


GoodsPresenter
public class GoodsPresenter implements IPresenter {

    private static final String TAG = "GoodsPresenter----";
    private IView iView;
    private GoodsModel goodsModel;

    public GoodsPresenter(IView iView) {
        this.iView = iView;
        goodsModel=new GoodsModel();
    }

    @Override
    public void getCarInfo(String pscid,String page) {
       goodsModel.getData(pscid,page,this);
    }

    @Override
    public void onSuccess(String json) {

        Log.d(TAG, "onSuccess: "+json);
        if(null!=iView){
            Gson gson=new Gson();
            GoodsListBean goodsListBean = gson.fromJson(json, GoodsListBean.class);
            List<GoodsListBean.DataBean> data = goodsListBean.getData();

            Log.d(TAG, "onSuccess: "+data);
            iView.showDataToView(data);
        }

    }

    @Override
    public void onFailed(String error) {
            if(null!=iView ){

                Log.d(TAG, "onFailed: "+error);

        }
    }

    @Override
    public void onDestory() {
        if(null!=iView){
            iView=null;
        }

    }
}
IPresenter
public interface IPresenter {
    void getCarInfo(String pscid,String page);
    void onSuccess(String json);
    void onFailed(String error);
    void onDestory();
}

utils包


CommonInterceptor
public class CommonInterceptor implements Interceptor {
    @Override
    public Response intercept(Chain chain) throws IOException {
        //得到原始的请求对象
        Request request = chain.request();


        //得到用户所使用的请求方式
        String method = request.method();
        if("GET".equals(method)){
            //原始的请求接口
            String oldUrl = request.url().toString();
            //拼接一个新的接口
            String newUrl = oldUrl + "&source=android";
            //重新构建请求体
            request =new Request.Builder()
                    .url(newUrl)
                    .build();
        }else if ("POST".equals(method)) {
            //得到原始的url
            String oldUrl = request.url().toString();
            //得到原有的请求参数
            FormBody oldBody = (FormBody) request.body();
            //新的构建项
            FormBody.Builder builder = new FormBody.Builder();
            for (int i = 0; i < oldBody.size(); i++) {
                //取出相关请求参数(原有的)
                String name = oldBody.name(i);
                String value = oldBody.value(i);
                //将原始的参数拼装到新的构建体当中
                builder.add(name, value);
            }
            //拼装我们的公共参数
            builder.add("source", "android");
            request=new Request.Builder()
                    .url(oldUrl)
                    .post(builder.build())
                    .build();


        }

        //重新发送请求
        return chain.proceed(request);
    }
}
HttpConfig
public class HttpConfig {

    public final static String GoodsListUrl="https://www.zhaoapi.cn/product/getProducts";
}
OkHttpUtils
public class OkHttpUtils {
    private static Handler handler=new Handler();
    //单例模式
    private static OkHttpUtils OK_HTTP_UTILS=null;

    /**
     * 得到OkHttpUtils实例对象
     *
     * @return
     */
    private OkHttpUtils(){}
    public static OkHttpUtils getInstance(){
        if(null==OK_HTTP_UTILS){
            synchronized (OkHttpUtils.class){
                if(null==OK_HTTP_UTILS){
                    OK_HTTP_UTILS=new OkHttpUtils();
                }
            }
        }
        return OK_HTTP_UTILS;
    }

    /**
     * Get请求
     * @param onFinishListener
     */

    public void doGet(String path, Map<String,String> map, final OnFinishListener onFinishListener){
        StringBuffer sb = new StringBuffer();
        sb.append(path);
        //判断path是否包含一个
        if(sb.indexOf("?")!=-1){
            //判断"?"是否在最后一个
            if(sb.indexOf("?")!=sb.length()-1){
                sb.append("&");
            }

        }else{
            sb.append("?");
        }
        //遍历map集合中所有请求参数
        for(Map.Entry<String, String> entry:map.entrySet()){
            sb.append(entry.getKey())
                    .append("=")
                    .append(entry.getValue())
                    .append("&");
        }

        if(sb.lastIndexOf("&")!=-1){
            sb.deleteCharAt(sb.length()-1);
        }

        OkHttpClient okHttpClient=new OkHttpClient();
        //构建请求项
        Request request=new Request.Builder()
                .get()
                .url(sb.toString())
                .build();
        Call call =okHttpClient.newCall(request);
        call.enqueue(new Callback() {
            @Override
            public void onFailure(Call call, final IOException e) {
                //请求失败
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        onFinishListener.onFailed(e.getMessage());

                    }
                });

            }

            @Override
            public void onResponse(Call call, final Response response) throws IOException {
                if(response.isSuccessful()){
                    //得到服务器的响应结果
                    final String result = response.body().string();
                    //请求成功
                    handler.post(new Runnable() {
                        @Override
                        public void run() {
                            //主线程当中执行
                            onFinishListener.onSuccess(result);
                        }
                    });

                }
            }
        });


    }
    /**
     * post请求
     *
     * @param path
     * @param map
     * @param onFinishListener
     */

    public void doPost(String path,Map<String,String> map,final OnFinishListener onFinishListener){
        OkHttpClient okHttpClient=new OkHttpClient();
        //构建参数的对象
        FormBody.Builder builder = new FormBody.Builder();
        //遍历map集合,获取用户的key/value
        for(String key:map.keySet()){
            builder.add(key,map.get(key));
        }
        //构建请求项
        Request request=new Request.Builder()
                .post(builder.build())
                .url(path)
                .build();
        Call call = okHttpClient.newCall(request);

        call.enqueue(new Callback() {
            @Override
            public void onFailure(Call call, final IOException e) {
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        onFinishListener.onFailed(e.getMessage());
                    }
                });
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                if(response.isSuccessful()){
                    final String result = response.body().string();
                    handler.post(new Runnable() {
                        @Override
                        public void run() {
                            onFinishListener.onSuccess(result);
                        }
                    });

                }
            }
        });
    }

}
OnFinishListener
public interface OnFinishListener {
    void onSuccess(String json);
    void onFailed(String error);
}

view包


IView
public interface IView {
    void showDataToView(List<GoodsListBean.DataBean> data);
}
MainActivity
public class MainActivity extends AppCompatActivity implements IView{

    private static final String TAG ="MainActivity----" ;
    private XRecyclerView xrcy;
    private GoodsPresenter goodsPresenter;
    private GoodsAdapter adapter;
    private int pscid = 1;
    private int page = 1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        xrcy = (XRecyclerView) findViewById(R.id.xrcy);

        adapter = new GoodsAdapter(MainActivity.this);
        xrcy.setAdapter(adapter);
        xrcy.setLayoutManager(new LinearLayoutManager(MainActivity.this));
        //设置默认分隔线
        DividerItemDecoration dec = new DividerItemDecoration(MainActivity.this,DividerItemDecoration.VERTICAL);

        xrcy.addItemDecoration(dec);

        goodsPresenter = new GoodsPresenter(this);
        goodsPresenter.getCarInfo("1",page+"");

        if (pscid > 0) {
            goodsPresenter.getCarInfo(pscid+"",page+"");
        }

        xrcy.setLoadingListener(new XRecyclerView.LoadingListener() {
            @Override
            public void onRefresh() {
                page = 1;
                goodsPresenter.getCarInfo(pscid+"",page+"");
            }

            @Override
            public void onLoadMore() {
                page++;
                goodsPresenter.getCarInfo(pscid+"",page+"");
            }
        });

    }

    @Override
    public void showDataToView(List<GoodsListBean.DataBean> data) {
        Log.d(TAG, "showDataToView: "+data);
        xrcy.refreshComplete();
        xrcy.loadMoreComplete();
        if (page > 1) {
            //显示添加数据
            adapter.addList(data);
        } else {
            adapter.updateList(data);
        }






    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        goodsPresenter.onDestory();
    }
}

bean包


GoodsListBean
public class GoodsListBean {

    /**
     * msg : 请求成功
     * code : 0
     * data : [{"bargainPrice":111.99,"createtime":"2017-10-14T21:39:05","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":1,"pid":1,"price":118,"pscid":1,"salenum":0,"sellerid":17,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-14T21:39:05","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":1,"pid":2,"price":299,"pscid":1,"salenum":999,"sellerid":18,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-03T23:53:28","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":0,"pid":3,"price":198,"pscid":1,"salenum":1234,"sellerid":19,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-14T21:48:08","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":2,"pid":4,"price":999,"pscid":1,"salenum":356,"sellerid":20,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-14T21:39:05","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":1,"pid":5,"price":88.99,"pscid":1,"salenum":678,"sellerid":21,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-03T23:53:28","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":0,"pid":6,"price":7.99,"pscid":1,"salenum":234,"sellerid":22,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-14T21:39:05","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":1,"pid":7,"price":120.01,"pscid":1,"salenum":1266,"sellerid":23,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-03T23:53:28","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":0,"pid":8,"price":324,"pscid":1,"salenum":3000,"sellerid":1,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-14T21:48:08","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":2,"pid":9,"price":78.99,"pscid":1,"salenum":2356,"sellerid":2,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-14T21:39:05","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":1,"pid":10,"price":555.55,"pscid":1,"salenum":0,"sellerid":3,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"}]
     * page : 1
     */

    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 {
        /**
         * bargainPrice : 111.99
         * createtime : 2017-10-14T21:39:05
         * detailUrl : https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends
         * images : https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg
         * itemtype : 1
         * pid : 1
         * price : 118.0
         * pscid : 1
         * salenum : 0
         * sellerid : 17
         * subhead : 每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下
         * title : 北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g
         */

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

activity_main.xml

<RelativeLayout 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.showlist.view.MainActivity">

  <com.jcodecraeer.xrecyclerview.XRecyclerView
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:id="@+id/xrcy">

  </com.jcodecraeer.xrecyclerview.XRecyclerView>

</RelativeLayout>

item_goods_list.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:gravity="center"
    android:layout_height="match_parent">


   <com.facebook.drawee.view.SimpleDraweeView
       android:layout_width="50dp"
       android:layout_height="50dp"
       android:id="@+id/img"/>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:singleLine="true"
        android:layout_gravity="center"
        android:id="@+id/tv"/>

</LinearLayout>

item_goods_twolist.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:singleLine="true"
        android:id="@+id/tv"/>

   <com.facebook.drawee.view.SimpleDraweeView
       android:layout_width="50dp"
       android:layout_height="50dp"
       app:roundAsCircle="true"
       android:id="@+id/img"/>



</LinearLayout>

依赖

compile 'com.jcodecraeer:xrecyclerview:1.5.2'
    compile 'com.facebook.fresco:fresco:1.9.0'
    compile 'com.facebook.fresco:animated-gif:+'
    compile 'com.android.support:design:26.0.0-alpha1'
    compile 'com.squareup.okhttp3:okhttp:3.9.0'
    compile 'com.google.code.gson:gson:2.8.2'

清单文件注册app

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值