android 详情页到购物车

来源:互联网 发布:初中生学电脑编程 编辑:程序博客网 时间:2024/05/22 04:40

1.依赖

    compile 'com.jakewharton:butterknife:8.8.1'    compile 'com.android.support:recyclerview-v7:26.0.0-alpha1'    compile 'com.squareup.retrofit2:retrofit:2.3.0'    compile 'com.squareup.retrofit2:converter-gson:2.3.0'    compile 'com.facebook.fresco:fresco:0.12.0'    compile 'com.facebook.fresco:animated-base-support:0.12.0'    compile 'com.facebook.fresco:animated-webp:0.12.0'    compile 'com.facebook.fresco:webpsupport:0.12.0'    compile 'io.reactivex.rxjava2:rxjava:2.1.7'    compile 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'    compile 'io.reactivex.rxjava2:rxandroid:2.0.1'    compile 'com.squareup.okhttp3:okhttp:3.9.0'    compile 'com.google.code.gson:gson:2.8.1'   annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
2.权限

 <uses-permission android:name="android.permission.INTERNET" />    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
3.布局文件

activity_main.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:fresco="http://schemas.android.com/apk/res-auto"    android:layout_width="match_parent"    android:layout_height="match_parent">    <LinearLayout        android:layout_width="match_parent"        android:layout_height="match_parent"        android:orientation="vertical">        <com.facebook.drawee.view.SimpleDraweeView            android:id="@+id/my_image_view"            android:layout_width="match_parent"            android:layout_height="450dp"            fresco:placeholderImage="@mipmap/ic_launcher" />        <TextView            android:id="@+id/goods_title"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_margin="10dp"            android:text="a啊啊是你的"            android:textSize="20dp" />        <TextView            android:id="@+id/goods_price"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_margin="10dp"            android:text="¥ 18132"            android:textColor="#dc5f2e"            android:textSize="18dp" />        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_margin="10dp"            android:text="我是商家19"            android:textSize="16dp" />    </LinearLayout>    <LinearLayout        android:layout_alignParentBottom="true"        android:layout_width="match_parent"        android:layout_height="50dp"        android:orientation="horizontal">        <Button            android:id="@+id/btn_addcart"            android:layout_weight="1"            android:layout_width="0dp"            android:layout_height="match_parent"            android:background="#ffc207"            android:text="加入购物车"/>        <Button            android:id="@+id/btn_shopping"            android:layout_weight="1"            android:layout_width="0dp"            android:layout_height="match_parent"            android:background="#ff6b06"            android:text="立即购买"/>    </LinearLayout></RelativeLayout>

activity_main2.xml

<?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">    <!--头布局-->    <LinearLayout        android:id="@+id/top_bar"        android:layout_width="match_parent"        android:layout_height="48dp"        android:background="#f7f7f7"        android:orientation="vertical" >        <RelativeLayout            android:layout_width="match_parent"            android:layout_height="48dp"            android:background="@android:color/transparent"            android:orientation="vertical" >            <ImageView                android:id="@+id/back"                android:layout_width="48dp"                android:layout_height="48dp"                android:layout_alignParentLeft="true"                android:layout_gravity="center_vertical"                android:padding="12dp"                android:src="@drawable/back" />            <TextView                android:layout_width="match_parent"                android:layout_height="wrap_content"                android:gravity="center"                android:minHeight="48dp"                android:text="购物车"                android:textColor="#1a1a1a"                android:textSize="16sp" />            <TextView                android:id="@+id/edit"                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:layout_alignParentRight="true"                android:layout_marginRight="40dp"                android:gravity="center"                android:minHeight="48dp"                android:text="编辑"                android:textColor="#1a1a1a"                android:textSize="14sp"                android:visibility="visible" />        </RelativeLayout>    </LinearLayout>    <ExpandableListView        android:id="@+id/exListView"        android:layout_width="match_parent"        android:layout_height="0dp"        android:layout_weight="1"        android:childIndicator="@null"        android:groupIndicator="@null" >    </ExpandableListView>    <LinearLayout        android:layout_width="match_parent"        android:layout_height="50dp"        android:gravity="center_vertical"        android:orientation="horizontal" >        <CheckBox            android:id="@+id/all_chekbox"            android:layout_marginLeft="20dp"            android:layout_width="wrap_content"            android:layout_height="wrap_content" />        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="全选"/>        <LinearLayout            android:id="@+id/ll_info"            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="4"            >            <LinearLayout                android:layout_width="match_parent"                android:layout_height="wrap_content"                android:orientation="vertical"                android:layout_marginRight="20dp"                android:layout_weight="1"                >                <LinearLayout                    android:layout_width="match_parent"                    android:layout_height="wrap_content"                    android:orientation="horizontal"                    android:gravity="right"                    >                    <TextView                        android:layout_width="wrap_content"                        android:layout_height="wrap_content"                        android:layout_marginLeft="5dp"                        android:text="合计:"                        android:textSize="18sp"                        android:textStyle="bold" />                    <TextView                        android:id="@+id/total_price"                        android:layout_width="wrap_content"                        android:layout_height="wrap_content"                        android:text="¥0.00"                        android:textColor="#f23232"                        android:textSize="16sp"                        android:textStyle="bold" />                </LinearLayout>                <TextView                    android:id="@+id/total_number"                    android:layout_width="match_parent"                    android:layout_height="wrap_content"                    android:text="共有商品:0件"                    android:gravity="right"                    android:textSize="16sp"                    android:textStyle="bold" />            </LinearLayout>            <TextView                android:id="@+id/tv_go_to_pay"                android:layout_width="match_parent"                android:layout_height="match_parent"                android:layout_weight="3"                android:background="#fd7a05"                android:clickable="true"                android:gravity="center"                android:text="结算"                android:textColor="#FAFAFA"                />        </LinearLayout>    </LinearLayout></LinearLayout>


ex_child_item.xml

<?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:fresco="http://schemas.android.com/apk/res-auto"    android:layout_width="match_parent"    android:layout_height="230dp"    android:orientation="horizontal">    <CheckBox        android:id="@+id/child_checkbox"        android:layout_marginTop="50dp"        android:layout_marginLeft="20dp"        android:layout_marginBottom="50dp"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        />    <RelativeLayout        android:layout_marginLeft="20dp"        android:layout_width="match_parent"        android:layout_height="match_parent">        <TextView            android:id="@+id/shop_title"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_alignParentLeft="true"            android:layout_alignParentStart="true"            android:layout_marginLeft="17dp"            android:layout_marginStart="17dp"            android:text="TextView"            android:layout_alignParentTop="true" />        <!--<ImageView            android:id="@+id/shop_img"            android:layout_width="90dp"            android:layout_height="90dp"            android:layout_marginTop="30dp"            app:srcCompat="@mipmap/ic_launcher"            android:layout_below="@+id/shop_name"            android:layout_alignParentLeft="true"            android:layout_alignParentStart="true" />-->        <com.facebook.drawee.view.SimpleDraweeView            android:id="@+id/shop_img"            android:layout_width="90dp"            android:layout_height="90dp"            android:layout_marginTop="30dp"            fresco:placeholderImage="@mipmap/ic_launcher"            android:layout_below="@+id/shop_name"            android:layout_alignParentLeft="true"            android:layout_alignParentStart="true"            />        <TextView            android:id="@+id/shop_price"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_alignTop="@+id/shop_img"            android:layout_centerHorizontal="true"            android:layout_marginTop="10dp"            android:text="¥20"            android:textColor="#f23232"/>        <com.bwei.gepeng.myview.AddDeleteView            android:id="@+id/adv"            android:layout_width="160dp"            android:layout_height="30dp"            android:layout_below="@+id/shop_price"            android:layout_marginTop="30dp"            android:layout_marginLeft="140dp"            app:left_text="-"            app:right_text="+"            app:middle_text="1"            android:focusable="false"            >        </com.bwei.gepeng.myview.AddDeleteView>        <Button            android:id="@+id/shop_delete"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_alignParentEnd="true"            android:layout_alignParentRight="true"            android:layout_centerVertical="true"            android:visibility="invisible"            android:text="删除" />    </RelativeLayout></LinearLayout>

ex_group_item.xml

<?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:background="#cfc3c3"    android:orientation="horizontal">    <CheckBox        android:id="@+id/group_checkbox"        android:layout_marginLeft="20dp"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:focusable="false"/>    <TextView        android:id="@+id/shop_name"        android:layout_marginLeft="20dp"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:textSize="16dp" /></LinearLayout>

layout_add_delete.xml

<?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"    android:weightSum="1">    <TextView        android:id="@+id/txt_delete"        android:layout_width="30dp"        android:layout_height="30dp"        android:text="减"        android:gravity="center"        android:background="#8b948b"/>    <EditText        android:id="@+id/et_number"        android:layout_marginTop="2dp"        android:layout_width="50dp"        android:layout_height="30dp"        android:background="@drawable/edit"        android:layout_weight="0.00"        android:gravity="center"        android:text="1"/>    <TextView        android:id="@+id/txt_add"        android:layout_width="30dp"        android:layout_height="30dp"        android:text="加"        android:gravity="center"        android:background="#8b948b"/></LinearLayout>

4.drawable添加edit.xml
   edit.xml

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android">    <solid android:color="#FFFFFF" />    <!--<corners android:radius="3dip"/>-->    <stroke        android:width="1dip"        android:color="#BDC7D8" /></shape>

   values下面添加arrts.xml

   arrts.xml

<?xml version="1.0" encoding="utf-8"?><resources>    <declare-styleable name="AddDeleteViewStyle">        <attr name="left_text" format="string"></attr>        <attr name="right_text" format="string"></attr>        <attr name="middle_text" format="string"></attr>        <attr name="left_text_color" format="color"></attr>    </declare-styleable></resources>

5.bean

GoodsShowBean

package com.bwei.gepeng.entity;public class GoodsShowBean {        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;        }    @Override    public String toString() {        return "GoodsShowBean{" +                "bargainPrice=" + bargainPrice +                ", createtime='" + createtime + '\'' +                ", detailUrl='" + detailUrl + '\'' +                ", images='" + images + '\'' +                ", itemtype=" + itemtype +                ", pid=" + pid +                ", price=" + price +                ", pscid=" + pscid +                ", salenum=" + salenum +                ", sellerid=" + sellerid +                ", subhead='" + subhead + '\'' +                ", title='" + title + '\'' +                '}';    }}

ChildBean

package com.bwei.gepeng.entity;public class ChildBean {    private String title;    private String images;    private double price;    private int num;    private boolean childCb;    private boolean btn;    public ChildBean(String title, String images, double price, int num, boolean childCb, boolean btn) {        this.title = title;        this.images = images;        this.price = price;        this.num = num;        this.childCb = childCb;        this.btn = btn;    }    public boolean isBtn() {        return btn;    }    public void setBtn(boolean btn) {        this.btn = btn;    }    public String getTitle() {        return title;    }    public void setTitle(String title) {        this.title = title;    }    public String getImages() {        return images;    }    public void setImages(String images) {        this.images = images;    }    public double getPrice() {        return price;    }    public void setPrice(double price) {        this.price = price;    }    public int getNum() {        return num;    }    public void setNum(int num) {        this.num = num;    }    public boolean isChildCb() {        return childCb;    }    public void setChildCb(boolean childCb) {        this.childCb = childCb;    }    @Override    public String toString() {        return "ChildBean{" +                "title='" + title + '\'' +                ", images='" + images + '\'' +                ", price=" + price +                ", num=" + num +                ", childCb=" + childCb +                '}';    }}

GroupBean

package com.bwei.gepeng.entity;public class GroupBean {    private String sellerName;    private boolean gropuCb;    public GroupBean(String sellerName, boolean gropuCb) {        this.sellerName = sellerName;        this.gropuCb = gropuCb;    }    public String getSellerName() {        return sellerName;    }    public void setSellerName(String sellerName) {        this.sellerName = sellerName;    }    public boolean isGropuCb() {        return gropuCb;    }    public void setGropuCb(boolean gropuCb) {        this.gropuCb = gropuCb;    }    @Override    public String toString() {        return "GroupBean{" +                "sellerName='" + sellerName + '\'' +                ", gropuCb=" + gropuCb +                '}';    }}

CartBean

package com.bwei.gepeng.entity;import java.util.List;public class CartBean {    private String sellerName;    private String sellerid;    private List<ListBean> list;    public String getSellerName() {        return sellerName;    }    public void setSellerName(String sellerName) {        this.sellerName = sellerName;    }    public String getSellerid() {        return sellerid;    }    public void setSellerid(String sellerid) {        this.sellerid = sellerid;    }    public List<ListBean> getList() {        return list;    }    public void setList(List<ListBean> list) {        this.list = list;    }    public static class ListBean {        private double bargainPrice;        private String createtime;        private String detailUrl;        private String images;        private int num;        private int pid;        private double price;        private int pscid;        private int selected;        private int sellerid;        private String subhead;        private String title;        public double getBargainPrice() {            return bargainPrice;        }        public void setBargainPrice(double bargainPrice) {            this.bargainPrice = bargainPrice;        }        public String getCreatetime() {            return createtime;        }        public void setCreatetime(String createtime) {            this.createtime = createtime;        }        public String getDetailUrl() {            return detailUrl;        }        public void setDetailUrl(String detailUrl) {            this.detailUrl = detailUrl;        }        public String getImages() {            return images;        }        public void setImages(String images) {            this.images = images;        }        public int getNum() {            return num;        }        public void setNum(int num) {            this.num = num;        }        public int getPid() {            return pid;        }        public void setPid(int pid) {            this.pid = pid;        }        public double getPrice() {            return price;        }        public void setPrice(double price) {            this.price = price;        }        public int getPscid() {            return pscid;        }        public void setPscid(int pscid) {            this.pscid = pscid;        }        public int getSelected() {            return selected;        }        public void setSelected(int selected) {            this.selected = selected;        }        public int getSellerid() {            return sellerid;        }        public void setSellerid(int sellerid) {            this.sellerid = sellerid;        }        public String getSubhead() {            return subhead;        }        public void setSubhead(String subhead) {            this.subhead = subhead;        }        public String getTitle() {            return title;        }        public void setTitle(String title) {            this.title = title;        }    }    @Override    public String toString() {        return "CartBean{" +                "sellerName='" + sellerName + '\'' +                ", sellerid='" + sellerid + '\'' +                ", list=" + list +                '}';    }}

MessageBean

package com.bwei.gepeng.entity;public class MessageBean <T>{    private String code;    private T data;    private String msg;    private SellerBean seller;    public String getCode() {        return code;    }    public void setCode(String code) {        this.code = code;    }    public T getData() {        return data;    }    public void setData(T data) {        this.data = 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 static class SellerBean {        /**         * description : 我是商家19         * icon : http://120.27.23.105/images/icon.png         * name : 商家19         * productNums : 999         * score : 5.0         * sellerid : 19         */        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;        }    }}
http

ApiService

package com.bwei.gepeng.http;import com.bwei.gepeng.entity.CartBean;import com.bwei.gepeng.entity.GoodsShowBean;import com.bwei.gepeng.entity.MessageBean;import java.util.List;import java.util.Map;import io.reactivex.Flowable;import retrofit2.http.GET;import retrofit2.http.QueryMap;public interface ApiService {    //http://120.27.23.105/product/getProductDetail?pid=75&source=android    @GET("product/getProductDetail")    Flowable<MessageBean<GoodsShowBean>> getNews(@QueryMap Map<String,String> map);    //查询购物车    //http://120.27.23.105/product/getCarts?uid=3802&source=android    @GET("product/getCarts")    Flowable<MessageBean<List<CartBean>>> getCart(@QueryMap Map<String,String> map);}
RetrofitUtils

package com.bwei.gepeng.http;import java.io.IOException;import okhttp3.HttpUrl;import okhttp3.Interceptor;import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.Response;import retrofit2.Retrofit;import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;import retrofit2.converter.gson.GsonConverterFactory;public class RetrofitUtils {    private static volatile RetrofitUtils instance;    private final Retrofit retrofit;    private RetrofitUtils(){        OkHttpClient client = new OkHttpClient.Builder().addInterceptor(new Logger()).build();        retrofit = new Retrofit.Builder()                .client(client)                .addCallAdapterFactory(RxJava2CallAdapterFactory.create())                .addConverterFactory(GsonConverterFactory.create())                .baseUrl("http://120.27.23.105/")                .build();    }    public static RetrofitUtils getInstance(){        if(instance==null){            synchronized (RetrofitUtils.class){                if(instance==null){                    instance=new RetrofitUtils();                }            }        }        return instance;    }    public ApiService getApiService(){        ApiService apiService = retrofit.create(ApiService.class);        return apiService;    }    class Logger implements Interceptor {        @Override        public Response intercept(Chain chain) throws IOException {            Request original = chain.request();            HttpUrl url=original.url().newBuilder()                    .addQueryParameter("source","android")                    .build();            //添加请求头            Request request = original.newBuilder()                    .url(url)                    .build();            return chain.proceed(request);        }    }}
model


IModel

import java.util.Map;public interface IModel {    void getData(Map<String,String> map,String tag);}
Model

package com.bwei.gepeng.model;import com.bwei.gepeng.entity.CartBean;import com.bwei.gepeng.entity.GoodsShowBean;import com.bwei.gepeng.entity.MessageBean;import com.bwei.gepeng.http.RetrofitUtils;import com.bwei.gepeng.presenter.NewsPresenter;import java.util.List;import java.util.Map;import io.reactivex.Flowable;public class Model implements IModel{    private NewsPresenter presenter;    public Model(NewsPresenter presenter) {        this.presenter = presenter;    }    /*@Override    public void getData(Map<String, String> map) {        Flowable<MessageBean<List<Newslist>>> flowable = RetrofitUtils.getInstance().getApiService().getNews(map);        presenter.get(flowable);    }*/    @Override    public void getData(Map<String, String> map, String tag) {        if(tag.equals("cart")){            Flowable<MessageBean<List<CartBean>>> flowable = RetrofitUtils.getInstance().getApiService().getCart(map);            presenter.get2(flowable,tag);        }else if(tag.equals("goods")){            Flowable<MessageBean<GoodsShowBean>> flowable = RetrofitUtils.getInstance().getApiService().getNews(map);            presenter.get(flowable,tag);        }    }}

IPresenter

package com.bwei.gepeng.presenter;import java.util.Map;public interface IPresenter {    void getData(Map<String,String> map, String tag);}
NewsPresenter

package com.bwei.gepeng.presenter;import com.bwei.gepeng.entity.CartBean;import com.bwei.gepeng.entity.GoodsShowBean;import com.bwei.gepeng.entity.MessageBean;import com.bwei.gepeng.model.Model;import com.bwei.gepeng.view.IView;import java.util.List;import java.util.Map;import io.reactivex.Flowable;import io.reactivex.android.schedulers.AndroidSchedulers;import io.reactivex.schedulers.Schedulers;import io.reactivex.subscribers.DisposableSubscriber;public class NewsPresenter implements IPresenter{    private IView iView;    private DisposableSubscriber<MessageBean<GoodsShowBean>> subscriber;    private DisposableSubscriber<MessageBean<List<CartBean>>> subscriber2;    public void attachView(IView iView){        this.iView=iView;    }    @Override    public void getData(Map<String, String> map, String tag) {        Model model = new Model(this);        model.getData(map,tag);    }    public void detachView(){        if(iView!=null){            iView=null;        }        if(subscriber!=null){            //如果该资源已被处理,则可一次性返回true。如果没有被处理返回false            if(!subscriber.isDisposed()){                subscriber.dispose();            }        }        if(subscriber2!=null){            //如果该资源已被处理,则可一次性返回true。如果没有被处理返回false            if(!subscriber2.isDisposed()){                subscriber2.dispose();            }        }    }    public void get(Flowable<MessageBean<GoodsShowBean>> flowable , final String tag) {        subscriber = flowable.subscribeOn(Schedulers.io())                .observeOn(AndroidSchedulers.mainThread())                .subscribeWith(new DisposableSubscriber<MessageBean<GoodsShowBean>>() {                    @Override                    public void onNext(MessageBean<GoodsShowBean> listMessageBean) {                        if (listMessageBean != null) {                            GoodsShowBean data = listMessageBean.getData();                            iView.OnSuccess(data,tag);                        }                    }                    @Override                    public void onError(Throwable t) {                        iView.OnFailed(new Exception(t),tag);                    }                    @Override                    public void onComplete() {                    }                });    }    public void get2(Flowable<MessageBean<List<CartBean>>> flowable, final String tag) {        subscriber2 = flowable.subscribeOn(Schedulers.io())                .observeOn(AndroidSchedulers.mainThread())                .subscribeWith(new DisposableSubscriber<MessageBean<List<CartBean>>>() {                    @Override                    public void onNext(MessageBean<List<CartBean>> list) {                        if (list != null) {                            List<CartBean> data = list.getData();                            if(data!=null){                                iView.OnSuccess(data,tag);                            }                        }                    }                    @Override                    public void onError(Throwable t) {                        iView.OnFailed(new Exception(t),tag);                    }                    @Override                    public void onComplete() {                    }                });    }}