商品详情,购物车,订单

来源:互联网 发布:书画频道软件下载 编辑:程序博客网 时间:2024/05/01 04:40



所有的布局文件

main2activity

<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="one.bw.com.gouwuce.Main2Activity">

    <android.support.v7.widget.Toolbar
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_marginLeft="-20dp"
        >
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">
            <ImageView
                android:layout_width="20dp"
                android:layout_height="30dp"
                android:layout_centerVertical="true"
                android:layout_marginLeft="10dp"
                android:id="@+id/shanglieFan"
                android:background="@drawable/leftjiantou"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:text="商品列表"
                android:textColor="#000"
                android:textSize="16dp"
                />
        </RelativeLayout>
    </android.support.v7.widget.Toolbar>
    <com.jcodecraeer.xrecyclerview.XRecyclerView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="70dp"
        android:id="@+id/MyXRecyclerView"
        ></com.jcodecraeer.xrecyclerview.XRecyclerView>

</RelativeLayout>

main3activity

<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="one.bw.com.gouwuce.Main3Activity">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">
        <ImageView
            android:layout_width="20dp"
            android:layout_height="30dp"
            android:layout_centerVertical="true"
            android:layout_marginLeft="10dp"
            android:id="@+id/shangXiangFan"
            android:background="@drawable/leftjiantou"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="商品详情"
            android:textColor="#000"
            android:textSize="18dp"
            />
    </RelativeLayout>
    <com.stx.xhb.xbanner.XBanner
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="6"
        android:id="@+id/shangXiangXBanner"
        app:AutoPlayTime="3000"
        ></com.stx.xhb.xbanner.XBanner>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="3"
        android:orientation="vertical">
        <TextView
            android:id="@+id/shangXiangTitle"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="title内容"
            android:textColor="#000"
            android:textSize="18dp"
            android:layout_marginTop="5dp"
            android:layout_marginLeft="5dp"
            />
        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            >
            <TextView
                android:id="@+id/shangXiangPrice"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="16dp"
                android:textColor="#000"
                android:text="上品元价"
                />
            <TextView
                android:layout_width="80dp"
                android:layout_height="1dp"
                android:background="#000"
                android:layout_centerInParent="true"/>
        </RelativeLayout>

        <TextView
            android:id="@+id/shangXiangBargainPrice"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="价格"
            android:textColor="#F00"
            android:textSize="18dp"
            android:layout_marginTop="5dp"
            android:layout_marginLeft="5dp"
            />
        <TextView
            android:id="@+id/shangXiangSubhead"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="活动"
            android:textColor="#000"
            android:textSize="18dp"
            android:layout_marginTop="5dp"
            android:layout_marginLeft="5dp"
            />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:gravity="center">
        <Button
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:text="查看购物车"
            android:background="#F00"
            android:textColor="#FFF"
            android:textSize="16dp"
            android:onClick="getCart"
            />
        <Button
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:text="添加购物车"
            android:background="#F00"
            android:textColor="#FFF"
            android:textSize="16dp"
            android:onClick="addCart"
            />
    </LinearLayout>
</LinearLayout>
main4activity

<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="one.bw.com.gouwuce.Main4Activity">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">
        <ImageView
            android:layout_width="20dp"
            android:layout_height="30dp"
            android:layout_centerVertical="true"
            android:layout_marginLeft="10dp"
            android:id="@+id/gouwuFan"
            android:background="@drawable/leftjiantou"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="购物车"
            android:textColor="#000"
            android:textSize="18dp"
            />
    </RelativeLayout>
    <ExpandableListView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="8"
        android:id="@+id/gouwuExpandableListView"
        android:groupIndicator="@null"
        ></ExpandableListView>
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.8">
        <CheckBox
            android:id="@+id/gouwuQX"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="全选/反选"
            android:layout_centerVertical="true"
            android:layout_marginLeft="10dp"/>
        <TextView
            android:id="@+id/gouwuZongJia"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="总价:¥ 0.00"
            android:textColor="#F00"
            android:textSize="18dp"
            />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="去结算"
            android:background="#F00"
            android:textColor="#FFF"
            android:textSize="14dp"
            android:layout_alignParentRight="true"
            android:onClick="qujiesuan"
            />
    </RelativeLayout>
</LinearLayout>
main5activity

<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="one.bw.com.gouwuce.Main5Activity">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">
        <ImageView
            android:layout_width="20dp"
            android:layout_height="30dp"
            android:layout_centerVertical="true"
            android:layout_marginLeft="10dp"
            android:id="@+id/jiesuanFan"
            android:background="@drawable/leftjiantou"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="确认订单"
            android:textColor="#000"
            android:textSize="18dp"
            />
        <TextView
            android:id="@+id/getDingDan"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="#f00"
            android:textSize="14dp"
            android:layout_centerVertical="true"
            android:text="查看订单"
            android:layout_alignParentRight="true"
            android:layout_marginRight="10dp"
            />
    </RelativeLayout>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="#000"/>

    <ListView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="8"
        android:id="@+id/jiesuanListView"
        ></ListView>
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.8">

        <TextView
            android:id="@+id/jiesuanZongJia"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="总价:¥ 0.00"
            android:textColor="#F00"
            android:textSize="18dp"
            />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="立即下单"
            android:background="#F00"
            android:textColor="#FFF"
            android:textSize="14dp"
            android:layout_alignParentRight="true"
            android:onClick="xiadan"
            />
    </RelativeLayout>
</LinearLayout>
main6activity

<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="one.bw.com.gouwuce.Main6Activity">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">
    <ImageView
        android:layout_width="20dp"
        android:layout_height="30dp"
        android:layout_centerVertical="true"
        android:layout_marginLeft="10dp"
        android:id="@+id/dingdanFan"
        android:background="@drawable/leftjiantou"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="订单列表"
        android:textColor="#000"
        android:textSize="18dp"
        />
    </RelativeLayout>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="#000"/>

    <android.support.design.widget.TabLayout
        android:id="@+id/dingdanTabLayout"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        app:tabGravity="center"
        app:tabIndicatorColor="@color/colorAccent"
        app:tabMode="scrollable"
        app:tabSelectedTextColor="@color/colorAccent"
        app:tabTextColor="@color/colorPrimary"
        ></android.support.design.widget.TabLayout>
    <FrameLayout
        android:id="@+id/dingdanFrameLayout"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="9"
        ></FrameLayout>
</LinearLayout>

dingdanbuju

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_height="wrap_content">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="15dp">
        <TextView
            android:id="@+id/dingdanTitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_marginLeft="10dp"
            android:text="标题"
            android:textColor="#000"
            android:textSize="16dp"/>
        <TextView
            android:id="@+id/dingdanStute"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_alignParentRight="true"
            android:layout_marginRight="15dp"
            android:text="状态"
            android:textColor="#F00"
            android:textSize="16dp"/>
    </RelativeLayout>
    <TextView
        android:id="@+id/dingdanPrice"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:layout_marginLeft="10dp"
        android:text="0.00"
        android:textColor="#F00"
        android:textSize="16dp" />
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp">
        <TextView
            android:id="@+id/dingdanTime"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_marginLeft="10dp"
            android:text="时间"
            android:textColor="#000"
            android:textSize="16dp"/>
        <Button
            android:id="@+id/dingdanAnNiu"
            android:layout_width="wrap_content"
            android:layout_height="25dp"
            android:layout_centerVertical="true"
            android:layout_alignParentRight="true"
            android:layout_marginRight="15dp"
            android:background="@drawable/kuang"
            android:text="订单"
            android:textSize="16dp"/>
    </RelativeLayout>

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

    <CheckBox
        android:id="@+id/gouwuEJKuang"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:layout_gravity="center"
        />
    <ImageView
        android:id="@+id/gouwuImage"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_marginLeft="5dp"/>

    <RelativeLayout
        android:layout_width="350dp"
        android:layout_height="match_parent"
        android:layout_marginLeft="5dp"
        android:orientation="vertical">

        <TextView
            android:id="@+id/gouwuTitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:text="商品title"
            android:textColor="#000"
            android:textSize="14dp" />

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_alignParentBottom="true"
            android:layout_marginBottom="5dp">
            <RelativeLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="15dp"
                >
                <TextView
                    android:id="@+id/gouwuPrice"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="14dp"
                    android:textColor="#000"
                    android:text="上品元价"
                    />
                <TextView
                    android:layout_width="80dp"
                    android:layout_height="1dp"
                    android:background="#000"
                    android:layout_centerInParent="true"/>
            </RelativeLayout>
            <TextView
                android:id="@+id/gouwuBargainPrice"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:text="0.00"
                android:textColor="#f00"
                android:textSize="14dp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:layout_margin="5dp">

            <Button
                android:id="@+id/gouwuJian"
                android:layout_width="30dp"
                android:layout_height="30dp"
                android:text="-"
                android:textSize="10dp" />

            <TextView
                android:id="@+id/gouwuNum"
                android:layout_width="30dp"
                android:layout_height="30dp"
                android:gravity="center"
                android:text="0"
                android:textColor="#000"
                android:textSize="10dp" />

            <Button
                android:id="@+id/gouwuJia"
                android:layout_width="30dp"
                android:layout_height="30dp"
                android:text="+"
                android:textSize="10dp" />
        </LinearLayout>

    </RelativeLayout>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:text="删除"
        android:textColor="#FFF"
        android:background="#F00"
        android:layout_gravity="end"
        android:id="@+id/erjishanchu"/>

</LinearLayout>
gouwuyijibuju
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#FFAA03">
    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:id="@+id/gouwuYJKuang"
        />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:text="商家"
        android:id="@+id/gouwuShangName"
        android:textSize="14dp"
        android:gravity="center"
        android:layout_marginLeft="5dp"
        android:textColor="#000"/>

</LinearLayout>

mydingdanfra

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

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

shangpinliebiaobuju

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

    <ImageView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:id="@+id/shangLieImage"/>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginLeft="10dp"
        android:orientation="vertical">
        <TextView
            android:id="@+id/shangLieTitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="title内容"
            android:textSize="14dp"
            android:layout_marginTop="5dp"
            android:textColor="#000"/>
        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="15dp"
            >
            <TextView
                android:id="@+id/shangLiePrice"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="14dp"
                android:textColor="#000"
                android:text="上品元价"
                />
            <TextView
                android:layout_width="80dp"
                android:layout_height="1dp"
                android:background="#000"
                android:layout_centerInParent="true"/>
        </RelativeLayout>

        <TextView
            android:id="@+id/shangLieBargainPrice"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="上品折后价"
            android:textSize="14dp"
            android:layout_marginTop="5dp"
            android:textColor="#F00"/>
    </LinearLayout>
</LinearLayout>

activity代码

public class Main2Activity extends AppCompatActivity {

    private XRecyclerView myXRecyclerView;
    private ImageView shanglieFan;
    int page=1;
    private MyPersent myPersent;
    List<ShangPinBean.DataBean> list=new ArrayList<>();
    private MyShangPinAdapter myShangPinAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        myXRecyclerView = (XRecyclerView) findViewById(R.id.MyXRecyclerView);
        shanglieFan = (ImageView) findViewById(R.id.shanglieFan);
        myPersent = new MyPersent();
        //布局管理器
        myXRecyclerView.setLayoutManager(new LinearLayoutManager(Main2Activity.this, OrientationHelper.VERTICAL,false));
        shanglieFan.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                finish();
            }
        });
    }

    @Override
    protected void onResume() {
        super.onResume();
        //商品列表首次展示数据
        getFristShangPin();

        myXRecyclerView.setLoadingListener(new XRecyclerView.LoadingListener() {
            @Override
            public void onRefresh() {
                getFristShangPin();
                myXRecyclerView.refreshComplete();
            }

            @Override
            public void onLoadMore() {
                Toast.makeText(Main2Activity.this,"正在加载更多数据...",Toast.LENGTH_SHORT).show();
                getMianShangPin();
                Toast.makeText(Main2Activity.this,"加载完成!",Toast.LENGTH_SHORT).show();
                myXRecyclerView.loadMoreComplete();
            }
        });
    }

    public void getFristShangPin(){
        page=1;
        String gouwu = APIuil.gouwu(page);
        myPersent.getPerContent(gouwu, new MyJieKou() {
            @Override
            public void cheng(final String json) {

                Gson gson = new Gson();
                ShangPinBean shangPinBean = gson.fromJson(json, ShangPinBean.class);
                if(shangPinBean.getCode().equals("0")){
                    List<ShangPinBean.DataBean> data = shangPinBean.getData();
                    list.clear();
                    list.addAll(data);
                    setAdapter();
                }else{
                    Toast.makeText(Main2Activity.this,shangPinBean.getMsg(),Toast.LENGTH_SHORT).show();
                }
            }

            @Override
            public void shibai(final String ss) {
                Toast.makeText(Main2Activity.this,ss,Toast.LENGTH_SHORT).show();
            }
        });
    }

    public void getMianShangPin(){
        page++;
        String gouwu = APIuil.gouwu(page);
        myPersent.getPerContent(gouwu, new MyJieKou() {
            @Override
            public void cheng(final String json) {

                Gson gson = new Gson();
                ShangPinBean shangPinBean = gson.fromJson(json, ShangPinBean.class);
                if(shangPinBean.getCode().equals("0")){
                    List<ShangPinBean.DataBean> data = shangPinBean.getData();
//                            list.clear();
                    list.addAll(data);
                    setAdapter();
                }else {
                    Toast.makeText(Main2Activity.this, shangPinBean.getMsg(), Toast.LENGTH_SHORT).show();
                }
            }

            @Override
            public void shibai(final String ss) {
                Toast.makeText(Main2Activity.this,ss,Toast.LENGTH_SHORT).show();
            }
        });
    }

    private void setAdapter() {
        if(myShangPinAdapter==null){
            myShangPinAdapter = new MyShangPinAdapter(Main2Activity.this, list);
            myXRecyclerView.setAdapter(myShangPinAdapter);
        }else{
            myShangPinAdapter.notifyDataSetChanged();
        }
        myShangPinAdapter.setDianjiJieKou(new MyShangPinAdapter.DianjiJieKou() {
            @Override
            public void dianji(int i) {
                ShangPinBean.DataBean dataBean = list.get(i);
                Intent intent = new Intent(Main2Activity.this, Main3Activity.class);
                Bundle bundle = new Bundle();
                bundle.putSerializable("DataBean",dataBean);
                intent.putExtra("bundle",bundle);
                startActivity(intent);
            }
        });
    }
}
=====================================================
public class Main3Activity extends AppCompatActivity {

    private XBanner shangXiangXBanner;
    private TextView shangXiangTitle;
    private TextView shangXiangPrice;
    private TextView shangXiangSubhead;
    private ShangPinBean.DataBean dataBean;
    private ImageView shangXiangFan;
    private MyPersent myPersent;
    private TextView shangXiangBargainPrice;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main3);
        shangXiangXBanner = (XBanner) findViewById(R.id.shangXiangXBanner);
        shangXiangTitle = (TextView) findViewById(R.id.shangXiangTitle);
        shangXiangPrice = (TextView) findViewById(R.id.shangXiangPrice);
        shangXiangBargainPrice = (TextView) findViewById(R.id.shangXiangBargainPrice);
        shangXiangSubhead = (TextView) findViewById(R.id.shangXiangSubhead);
        shangXiangFan = (ImageView) findViewById(R.id.shangXiangFan);
        Bundle bundle = getIntent().getBundleExtra("bundle");
        dataBean = (ShangPinBean.DataBean) bundle.getSerializable("DataBean");
        myPersent = new MyPersent();
        shangXiangFan.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                finish();
            }
        });
    }

    @Override
    protected void onResume() {
        super.onResume();
        String[] split = dataBean.getImages().split("\\|");
        final List<String> imagesurl = Arrays.asList(split);
        shangXiangXBanner.setData(imagesurl,null);//设置装载数据源
        shangXiangXBanner.setPoinstPosition(XBanner.CENTER);//设置指示器的显示位置
        shangXiangXBanner.setmAdapter(new XBanner.XBannerAdapter() {//xbanner的适配器,加载图片
            @Override
            public void loadBanner(XBanner banner, Object model, View view, int position) {
                ImageLoader.getInstance().displayImage(imagesurl.get(position), (ImageView) view, ImageLoaderUtil.showImage());
            }
        });
        shangXiangTitle.setText(dataBean.getTitle());
        shangXiangPrice.setText("¥"+dataBean.getPrice());
        shangXiangBargainPrice.setText("¥"+dataBean.getBargainPrice());
        shangXiangSubhead.setText(dataBean.getSubhead());
    }

    public void addCart(View view) {
        int pid = dataBean.getPid();
        String s = APIuil.addCar("3470", pid);
        myPersent.getPerContent(s, new MyJieKou() {
            @Override
            public void cheng(final String json) {
                Gson gson = new Gson();
                AddCartBean addCartBean = gson.fromJson(json, AddCartBean.class);
                if(addCartBean.getCode().equals("0")){
                    Toast.makeText(Main3Activity.this,addCartBean.getMsg(),Toast.LENGTH_SHORT).show();
                }else{
                    Toast.makeText(Main3Activity.this,addCartBean.getMsg(),Toast.LENGTH_SHORT).show();
                }
            }

            @Override
            public void shibai(final String ss) {
                Toast.makeText(Main3Activity.this,ss,Toast.LENGTH_SHORT).show();
            }
        });
    }
    public void getCart(View view) {
        Intent intent = new Intent(Main3Activity.this, Main4Activity.class);
        startActivity(intent);
        finish();
    }
}
=====================================================

public class Main4Activity extends AppCompatActivity {

    private ImageView gouwuFan;
    private ExpandableListView gouwuExpandableListView;
    private CheckBox gouwuQX;
    private TextView gouwuZongJia;
    private MyPersent myPersent;
    private MyExAdapter myExAdapter;
    public static double sum=0;
    private List<MyGouBean.DataBean> data;
    int z=0;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main4);
        gouwuFan = (ImageView) findViewById(R.id.gouwuFan);
        gouwuExpandableListView = (ExpandableListView) findViewById(R.id.gouwuExpandableListView);
        gouwuQX = (CheckBox) findViewById(R.id.gouwuQX);
        gouwuZongJia = (TextView) findViewById(R.id.gouwuZongJia);
        myPersent = new MyPersent();
        gouwuFan.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                finish();
            }
        });
    }

    @Override
    protected void onResume() {
        super.onResume();
        String car = APIuil.getCar("3470");
        //购物车的初始数据展示
        getChuShiContent(car);

        //全选框的点击事件,,,借助第三方的容器,来实现递归的修改数据的方法
        gouwuQX.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(Main4Activity.this,"数据正在更新...",Toast.LENGTH_SHORT).show();
                if(gouwuQX.isChecked()){
                    ArrayList<MyGouBean.DataBean.ListBean> list = new ArrayList<>();
                    sum=0;
//                    gouwuZongJia.setText("总价:¥"+sum);
                    for (MyGouBean.DataBean d:data){
                        for (MyGouBean.DataBean.ListBean li :d.getList()) {
                            li.setSelected(1);
                            list.add(li);
                            sum=sum+li.getBargainPrice()*li.getNum();
                        }
                    }

                    getUpdataShuJu(list);
                    setAdapter(data);
                    gouwuZongJia.setText("总价:¥"+sum);
                }else{
                    ArrayList<MyGouBean.DataBean.ListBean> list = new ArrayList<>();
                    for (MyGouBean.DataBean d:data){
                        for (MyGouBean.DataBean.ListBean li :d.getList()) {
                            li.setSelected(0);
                            list.add(li);
                            sum=sum-li.getPrice()*li.getNum();
                        }
                    }
                    getUpdataShuJu(list);
                    setAdapter(data);
                    gouwuZongJia.setText("总价:¥"+sum);
                }
            }
        });
    }

    //修改数据接口,,更新购物车
    private void getUpdataShuJu(final List<MyGouBean.DataBean.ListBean> list) {
        if(z<list.size()){
            String s = APIuil.updataCart("3470", list.get(z));
            myPersent.getPerContent(s, new MyJieKou() {
                @Override
                public void cheng(final String json) {

                    Gson gson = new Gson();
                    AddCartBean addCartBean = gson.fromJson(json, AddCartBean.class);
                    if(addCartBean.getCode().equals("0")){
                        z++;
                        getUpdataShuJu(list);
                    }else{
                        Toast.makeText(Main4Activity.this,addCartBean.getMsg(),Toast.LENGTH_SHORT).show();
                    }
                }
                @Override
                public void shibai(final String ss) {
                    Toast.makeText(Main4Activity.this,ss,Toast.LENGTH_SHORT).show();
                }
            });
        }else{
            z=0;
            Toast.makeText(Main4Activity.this,"更新完成!",Toast.LENGTH_SHORT).show();
//            Log.i("jiba","====修改成功!");
        }
    }

    //购物车的初始数据展示
    boolean kai=true;
    public void getChuShiContent(String car) {
        myPersent.getPerContent(car, new MyJieKou() {
            @Override
            public void cheng(final String json) {
                Gson gson = new Gson();
                MyGouBean myGouBean = gson.fromJson(json, MyGouBean.class);
                if(json.equals("null")){
                    Toast.makeText(Main4Activity.this,"购物车为空!",Toast.LENGTH_SHORT).show();
                }else{
                    if(myGouBean.getCode().equals("0")){
                       data = myGouBean.getData();
                        //刷新适配器
                        setAdapter(data);
                        //展示二级列表,,,根据select==1计算sum的综合
                        sum=0;
                        for (int i = 0; i< data.size(); i++){
                            gouwuExpandableListView.expandGroup(i);
                            for (int j = 0; j< data.get(i).getList().size(); j++){
                                List<MyGouBean.DataBean.ListBean> list = data.get(i).getList();
                                if(list.get(j).getSelected()==1){
                                    sum=sum+list.get(j).getNum()*list.get(j).getBargainPrice();
                                }else{
                                    kai=false;
                                }
                            }
                        }
                        gouwuZongJia.setText("总价:¥"+sum);
                        gouwuQX.setChecked(kai);

                    }else{
                        Toast.makeText(Main4Activity.this,myGouBean.getMsg(),Toast.LENGTH_SHORT).show();
                    }
                }
            }

            @Override
            public void shibai(final String ss) {
                Toast.makeText(Main4Activity.this,ss,Toast.LENGTH_SHORT).show();
            }
        });
    }
    //刷新适配器
    public void setAdapter(final List<MyGouBean.DataBean> data){
        if(myExAdapter==null){
            myExAdapter = new MyExAdapter(Main4Activity.this, data,gouwuZongJia,gouwuQX);
            gouwuExpandableListView.setAdapter(myExAdapter);
        }else{
            myExAdapter.notifyDataSetChanged();
        }
        //点击删除事件
        myExAdapter.setDianJi(new MyExAdapter.DianJi() {
            @Override
            public void dianji(int pid) {
                String s = APIuil.deleteCar("3470", "" + pid);
                myPersent.getPerContent(s, new MyJieKou() {
                    @Override
                    public void cheng(String json) {
                        Gson gson = new Gson();
                        AddCartBean addCartBean = gson.fromJson(json, AddCartBean.class);
                        if (addCartBean.getCode().equals("0")) {
                            Toast.makeText(Main4Activity.this, addCartBean.getMsg(), Toast.LENGTH_SHORT).show();
                            String car = APIuil.getCar("3470");
                            //购物车的初始数据展示
                            myExAdapter=null;
                            getChuShiContent(car);
                            Log.i("jiba","setDianJi====");
                        } else {
                            Toast.makeText(Main4Activity.this, addCartBean.getMsg(), Toast.LENGTH_SHORT).show();
                        }
                    }
                    @Override
                    public void shibai(String ss) {
                        Toast.makeText(Main4Activity.this, ss, Toast.LENGTH_SHORT).show();
                    }
                });

            }
        });
    }
    //点击去结算的事件
    public void qujiesuan(View view) {
        List<MyGouBean.DataBean.ListBean> list=new ArrayList<>();
        for (MyGouBean.DataBean d:data) {
            for (MyGouBean.DataBean.ListBean li:d.getList()) {
                if(li.getSelected()==1){
                    list.add(li);
                }
            }
        }
        if(list.size()>0){
            Intent intent = new Intent(Main4Activity.this, Main5Activity.class);
            intent.putExtra("list", (Serializable) list);
            startActivity(intent);
        }else{
            Toast.makeText(Main4Activity.this, "为空", Toast.LENGTH_SHORT).show();
        }
    }
}

===========================================================

public class Main5Activity extends AppCompatActivity {

    private ListView jiesuanListView;
    private TextView jiesuanZongJia;
    private List<MyGouBean.DataBean.ListBean> list;
    double sum=0;
    private MyPersent myPersent;
    private ImageView jiesuanFan;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main5);
        jiesuanListView = (ListView) findViewById(R.id.jiesuanListView);
        jiesuanZongJia = (TextView) findViewById(R.id.jiesuanZongJia);
        jiesuanFan = (ImageView) findViewById(R.id.jiesuanFan);
        TextView getDingDan = (TextView) findViewById(R.id.getDingDan);
        myPersent = new MyPersent();

        list = (List<MyGouBean.DataBean.ListBean>) getIntent().getSerializableExtra("list");

        jiesuanFan.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                finish();
            }
        });
        getDingDan.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(Main5Activity.this, Main6Activity.class);
                startActivity(intent);
                finish();
            }
        });
    }

    @Override
    protected void onResume() {
        super.onResume();
        jiesuanListView.setAdapter(new MyJieSuanAdapter(Main5Activity.this,list));
        for (MyGouBean.DataBean.ListBean li:list) {
            sum=sum+li.getBargainPrice()*li.getNum();
        }
        jiesuanZongJia.setText("总价:¥"+sum);
    }

    public void xiadan(View view) {
        String order = APIuil.createOrder(sum + "");
        myPersent.getPerContent(order, new MyJieKou() {
           @Override
           public void cheng(String json) {
               Gson gson = new Gson();
               AddCartBean addCartBean = gson.fromJson(json, AddCartBean.class);
               if(addCartBean.getCode().equals("0")){
                   Toast.makeText(Main5Activity.this,addCartBean.getMsg(),Toast.LENGTH_SHORT).show();
                   Intent intent = new Intent(Main5Activity.this, Main6Activity.class);
                   startActivity(intent);
                   finish();
               }else{
                   Toast.makeText(Main5Activity.this,addCartBean.getMsg(),Toast.LENGTH_SHORT).show();
               }

           }

           @Override
           public void shibai(String ss) {
               Toast.makeText(Main5Activity.this,ss,Toast.LENGTH_SHORT).show();
           }
       });
    }
}

===============================================================

public class Main6Activity extends AppCompatActivity {

    String[] title={"全部","待支付","已支付","已取消"};
    private ImageView dingdanFan;
    private TabLayout dingdanTabLayout;
    public static String ss="全部";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main6);
        dingdanFan = (ImageView) findViewById(R.id.dingdanFan);
        dingdanTabLayout = (TabLayout) findViewById(R.id.dingdanTabLayout);
        dingdanFan.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                finish();
            }
        });
        getSupportFragmentManager().beginTransaction().replace(R.id.dingdanFrameLayout,new MyDingDanFra()).commit();

    }

    @Override
    protected void onResume() {
        super.onResume();
        for (int i = 0; i < title.length; i++) {
            //添加tab
            dingdanTabLayout.addTab(dingdanTabLayout.newTab().setText(title[i]));
        }
        dingdanTabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                //Toast.makeText(Main6Activity.this,tab.getText(),Toast.LENGTH_SHORT).show();
                if(tab.getText().equals(title[0])){
                    ss=title[0];
                }else if(tab.getText().equals(title[1])){
                    ss=title[1];
                }else if(tab.getText().equals(title[2])){
                    ss=title[2];
                }else if(tab.getText().equals(title[3])){
                    ss=title[3];
                }
                getSupportFragmentManager().beginTransaction().replace(R.id.dingdanFrameLayout,new MyDingDanFra()).commit();

            }

            @Override
            public void onTabUnselected(TabLayout.Tab tab) {

            }

            @Override
            public void onTabReselected(TabLayout.Tab tab) {

            }
        });
    }
}
=================================================
Adapter代码

public class MyDingDanAdapter extends XRecyclerView.Adapter<DingDanHolde> {
    Context context;
    ArrayList<MyDingDanBean.DataBean> list;
    public MyDingDanAdapter(Context context, ArrayList<MyDingDanBean.DataBean> list) {
        this.context = context;
        this.list = list;
    }

    @Override
    public DingDanHolde onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.dingdanbuju, parent, false);
        DingDanHolde dingDanHolde = new DingDanHolde(view);
        return dingDanHolde;
    }

    @Override
    public void onBindViewHolder(final DingDanHolde holder, int position) {
        final MyDingDanBean.DataBean dataBean = list.get(position);
        holder.dingdanTitle.setText(dataBean.getTitle());
        if(dataBean.getStatus()==0){
            holder.dingdanStute.setText("待支付");
            holder.dingdanAnNiu.setText("取消订单");
        }else if(dataBean.getStatus()==1){
            holder.dingdanStute.setText("已支付");
            holder.dingdanAnNiu.setText("查看订单");
        }else if(dataBean.getStatus()==2){
            holder.dingdanStute.setText("已取消");
            holder.dingdanAnNiu.setText("查看订单");
        }
        holder.dingdanPrice.setText("价格:"+dataBean.getPrice());
        holder.dingdanTime.setText(dataBean.getCreatetime());

        holder.dingdanAnNiu.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if(dataBean.getStatus()!=2){
                    AlertDialog.Builder builder = new AlertDialog.Builder(context);
                    builder.setIcon(R.mipmap.ic_launcher);
                    builder.setTitle("确认取消订单吗?");
                    builder.setNegativeButton("取消",null);
                    builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {
                            dataBean.setStatus(2);
                            holder.dingdanStute.setTextColor(Color.BLACK);
                            notifyDataSetChanged();
                        }
                    }).show();
                }else{
                    Toast.makeText(context,"订单已更改!",Toast.LENGTH_SHORT).show();
                }
            }
        });
    }

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

}

class DingDanHolde extends RecyclerView.ViewHolder{

    public TextView dingdanTitle;
    public TextView dingdanStute;
    public TextView dingdanPrice;
    public TextView dingdanTime;
    public Button dingdanAnNiu;

    public DingDanHolde(View itemView) {
        super(itemView);
        dingdanTitle = itemView.findViewById(R.id.dingdanTitle);
        dingdanStute = itemView.findViewById(R.id.dingdanStute);
        dingdanPrice = itemView.findViewById(R.id.dingdanPrice);
        dingdanTime = itemView.findViewById(R.id.dingdanTime);
        dingdanAnNiu = itemView.findViewById(R.id.dingdanAnNiu);
    }
}
============================================================

public class MyExAdapter extends BaseExpandableListAdapter {
    Context context;
    List<MyGouBean.DataBean> data;
    TextView gouwuZongJia;
    CheckBox gouwuQX;
    private final MyPersent myPersent;
    int z=0;

    public interface DianJi{
        void dianji(int pid);
    }

    public DianJi dianJi;

    public void setDianJi(DianJi dianJi) {
        this.dianJi = dianJi;
    }

    public MyExAdapter(Context context, List<MyGouBean.DataBean> data, TextView gouwuZongJia, CheckBox gouwuQX) {
        this.context = context;
        this.data = data;
        this.gouwuZongJia = gouwuZongJia;
        this.gouwuQX = gouwuQX;
        myPersent = new MyPersent();

    }

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

    @Override
    public int getChildrenCount(int i) {
        return data.get(i).getList().size();
    }

    @Override
    public Object getGroup(int i) {
        return null;
    }

    @Override
    public Object getChild(int i, int i1) {
        return null;
    }

    @Override
    public long getGroupId(int i) {
        return 0;
    }

    @Override
    public long getChildId(int i, int i1) {
        return 0;
    }

    @Override
    public boolean hasStableIds() {
        return false;
    }

    @Override
    public View getGroupView(final int i, final boolean b, View view, ViewGroup viewGroup) {
        if(view==null){
            view = View.inflate(context, R.layout.gouwuyijibuju, null);
        }
        final CheckBox gouwuYJKuang = view.findViewById(R.id.gouwuYJKuang);
        TextView gouwuShangName = view.findViewById(R.id.gouwuShangName);
        MyGouBean.DataBean dataBean = data.get(i);
        gouwuShangName.setText(dataBean.getSellerName());
        //获取所有二级列表的select,判断是否都已选中
        boolean kai = isKai(i);
        dataBean.setFlage(kai);//为一级框附初始值
        gouwuYJKuang.setChecked(dataBean.getFlage());

        //一级框的点击事件,,,先为全选框赋值,,再循环更改select值,,最后调用修改接口
        gouwuYJKuang.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
            gouwuQX.setChecked(false);
            if(gouwuYJKuang.isChecked()){
                //循环遍历当前下标下的所有二级列表,更改select值,并计算sum的总价
                for (MyGouBean.DataBean.ListBean li:data.get(i).getList()) {
                    if(li.getSelected()==0){
                        li.setSelected(1);
                        sum= sum+li.getNum()*li.getBargainPrice();
                    }
                }
            }else{
                for (MyGouBean.DataBean.ListBean li:data.get(i).getList()) {
                    if(li.getSelected()==1){
                        li.setSelected(0);
                        sum= sum-li.getNum()*li.getBargainPrice();
                    }
                }
            }
            //为总价控件赋值
            gouwuZongJia.setText("总价:¥"+ sum);
            List<MyGouBean.DataBean.ListBean> list = data.get(i).getList();
            //使用递归将修改后的select的值传入修改接口,
            getUpdataShuJu(list);//修改是接口后,刷新适配器
            notifyDataSetChanged();
            }
        });
        return view;
    }
    //根据当前一级下标,获取所有二级列表的select,判断是否都已选中
    private boolean isKai(int i) {
        boolean kai=true;
        for (MyGouBean.DataBean.ListBean li:data.get(i).getList()) {
            if(li.getSelected()==0){
                kai=false;
                break;
            }
        }
        return kai;
    }

    //修改数据接口,,更新购物车
    private void getUpdataShuJu(final List<MyGouBean.DataBean.ListBean> list) {
        if(z<list.size()){
            String s = APIuil.updataCart("3470", list.get(z));
            myPersent.getPerContent(s, new MyJieKou() {
                @Override
                public void cheng(String json) {
                    Gson gson = new Gson();
                    AddCartBean addCartBean = gson.fromJson(json, AddCartBean.class);
                    if(addCartBean.getCode().equals("0")){
                        z++;
                        getUpdataShuJu(list);
                    }else{
                       Toast.makeText(context,addCartBean.getMsg(),Toast.LENGTH_SHORT).show();
                    }
                }
                @Override
                public void shibai(String ss) {
                    Toast.makeText(context,ss,Toast.LENGTH_SHORT).show();
                }
            });
        }else{
            z=0;
            Toast.makeText(context,"修改完成!",Toast.LENGTH_SHORT).show();
        }
    }

    @Override
    public View getChildView(final int i, final int i1, final boolean b, View view, ViewGroup viewGroup) {
        if(view==null){
            view=View.inflate(context,R.layout.gouwuerjibuju,null);
        }
        final CheckBox gouwuEJKuang = view.findViewById(R.id.gouwuEJKuang);
        ImageView gouwuImage = view.findViewById(R.id.gouwuImage);
        TextView gouwuTitle = view.findViewById(R.id.gouwuTitle);
        TextView gouwuPrice = view.findViewById(R.id.gouwuPrice);
        TextView gouwuBargainPrice = view.findViewById(R.id.gouwuBargainPrice);
        final TextView gouwuNum = view.findViewById(R.id.gouwuNum);
        Button gouwuJia = view.findViewById(R.id.gouwuJia);
        Button gouwuJian = view.findViewById(R.id.gouwuJian);
        Button erjishanchu = view.findViewById(R.id.erjishanchu);

        //为二级列表赋值,,便于刷新适配器
        final MyGouBean.DataBean.ListBean listBean = data.get(i).getList().get(i1);
        if(listBean.getSelected()==1){
            gouwuEJKuang.setChecked(true);
        }else{
            gouwuEJKuang.setChecked(false);
        }
        String[] split = listBean.getImages().split("\\|");
        ImageLoader.getInstance().displayImage(split[0],gouwuImage, ImageLoaderUtil.showImage());
        gouwuTitle.setText(listBean.getTitle());
        gouwuPrice.setText("¥"+listBean.getPrice());
        gouwuBargainPrice.setText("¥"+listBean.getBargainPrice());
        gouwuNum.setText(""+listBean.getNum());

        //二级框的点击事件,,判断,true就修改select=1,在计算sum的总价,调用修改接口,最后刷新适配器
        gouwuEJKuang.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                gouwuQX.setChecked(false);
                if(gouwuEJKuang.isChecked()){
                    listBean.setSelected(1);
                    sum= sum+listBean.getNum()*listBean.getBargainPrice();
                }else{
                    listBean.setSelected(0);
                    sum= sum-listBean.getNum()*listBean.getBargainPrice();
                    data.get(i).setFlage(false);
                }
                gouwuZongJia.setText("总价:¥"+ sum);
                //使用递归将修改后的select的值传入修改接口,,,原本点击二级框时只需要修改自己的数据就行,
                // 然,点击二级框时又和一级框达成联动,所以只能使用递归的思想,来使他整个都发生变化
                getUpdataShuJu(data.get(i).getList());
                notifyDataSetChanged();
            }
        });

        //点击“+”的事件
        gouwuJia.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                int n = listBean.getNum();
                int num = listBean.getNum();
                num++;
                if(listBean.getSelected()==1){
                    sum= sum-n*listBean.getBargainPrice()+num*listBean.getBargainPrice();
                    gouwuZongJia.setText("总价:¥"+ sum);
                }
                listBean.setNum(num);
                getUpdataShuJu2(listBean);
                notifyDataSetChanged();
            }
        });
        //点击“-”的事件
        gouwuJian.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                int n = listBean.getNum();
                int num = listBean.getNum();
                if(num>0){
                    num--;
                    if(listBean.getSelected()==1){
                        sum= sum-n*listBean.getBargainPrice()+num*listBean.getBargainPrice();
                        gouwuZongJia.setText("总价:¥"+ sum);
                    }
                    listBean.setNum(num);
                    getUpdataShuJu2(listBean);
                    notifyDataSetChanged();
                }else{
                    Toast.makeText(context,"不能再减啦!",Toast.LENGTH_SHORT).show();
                }
            }
        });
        //删除按钮的事件
        erjishanchu.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                dianJi.dianji(listBean.getPid());
            }

        });


        //点击事件结束以后,在判断当前i下标下的所有二级列表的select是否为true,,并赋值给一级列表的setFlage
        boolean kai = isKai(i);
        data.get(i).setFlage(kai);
        notifyDataSetChanged();

        return view;
    }

    //修改数据接口,,点击加减更新购物车
    private void getUpdataShuJu2(MyGouBean.DataBean.ListBean listBean) {
        String s = APIuil.updataCart("3470", listBean);
        myPersent.getPerContent(s, new MyJieKou() {
            @Override
            public void cheng(String json) {
                Gson gson = new Gson();
                AddCartBean addCartBean = gson.fromJson(json, AddCartBean.class);
                if(addCartBean.getCode().equals("0")){
                    Log.i("jiba","====修改成功!");
                }else{
                    Log.i("jiba","====修改不成功!");
                }
            }

            @Override
            public void shibai(String ss) {
                Log.i("jiba","====修改不成功!");
            }
        });

    }

    @Override
    public boolean isChildSelectable(int i, int i1) {
        return true;
    }
}
================================================================
public class MyJieSuanAdapter extends BaseAdapter {
    Context context;
    List<MyGouBean.DataBean.ListBean> list;

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

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

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

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

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        if(view==null){
            view=View.inflate(context, R.layout.shangpinliebiaobuju,null);
        }
        ImageView shangLieImage = view.findViewById(R.id.shangLieImage);
        TextView shangLieTitle= view.findViewById(R.id.shangLieTitle);
        TextView shangLiePrice= view.findViewById(R.id.shangLiePrice);
        TextView shangLieBargainPrice= view.findViewById(R.id.shangLieBargainPrice);
        MyGouBean.DataBean.ListBean listBean = list.get(i);
        String[] split = listBean.getImages().split("\\|");
        ImageLoader.getInstance().displayImage(split[0],shangLieImage, ImageLoaderUtil.showImage());
        shangLieTitle.setText(listBean.getTitle());
        shangLiePrice.setText("¥"+listBean.getPrice());
        shangLieBargainPrice.setText("¥"+listBean.getBargainPrice());
        return view;
    }
}
================================================================
public class MyShangPinAdapter extends XRecyclerView.Adapter<ShangHolde> {
    Context context;
    List<ShangPinBean.DataBean> list;
    DianjiJieKou dianjiJieKou;

    public void setDianjiJieKou(DianjiJieKou dianjiJieKou) {
        this.dianjiJieKou = dianjiJieKou;
    }

    public MyShangPinAdapter(Context context, List<ShangPinBean.DataBean> list) {
        this.context = context;
        this.list = list;
    }

    @Override
    public ShangHolde onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.shangpinliebiaobuju, parent, false);
        ShangHolde shangHolde = new ShangHolde(view);
        return shangHolde;
    }

    @Override
    public void onBindViewHolder(ShangHolde holder, final int position) {
        ShangPinBean.DataBean dataBean = list.get(position);
        String[] split = dataBean.getImages().split("\\|");
        ImageView shangLieImage = holder.shangLieImage;
        ImageLoader.getInstance().displayImage(split[0],shangLieImage, ImageLoaderUtil.showImage());
        holder.shangLieTitle.setText(dataBean.getTitle());
        holder.shangLiePrice.setText("¥"+dataBean.getPrice());
        holder.shangLieBargainPrice.setText("¥"+dataBean.getBargainPrice());
        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                dianjiJieKou.dianji(position);
            }
        });
    }

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

    public interface DianjiJieKou{
        void dianji(int i);
    }

}
class ShangHolde extends RecyclerView.ViewHolder{

    public ImageView shangLieImage;
    public TextView shangLieTitle;
    public TextView shangLiePrice;
    public TextView shangLieBargainPrice;

    public ShangHolde(View itemView) {
        super(itemView);
        shangLieImage = itemView.findViewById(R.id.shangLieImage);
        shangLieTitle = itemView.findViewById(R.id.shangLieTitle);
        shangLiePrice = itemView.findViewById(R.id.shangLiePrice);
        shangLieBargainPrice = itemView.findViewById(R.id.shangLieBargainPrice);

    }
}

================================================================

public class MyListView extends ListView {
    public MyListView(Context context) {
        super(context);
    }

    public MyListView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public MyListView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
                MeasureSpec.AT_MOST);
        super.onMeasure(widthMeasureSpec, expandSpec);
    }
}
=================================================================

public class MyScrollView extends ScrollView {
    public interface ScrollViewListener{
        void onScrollChanged(MyScrollView myScrollView, int x, int y, int oldx, int oldy);
    }

    private ScrollViewListener scrollViewListener = null;

    public void setScrollViewListener(ScrollViewListener scrollViewListener) {
        this.scrollViewListener = scrollViewListener;
    }

    public MyScrollView(Context context) {
        super(context);
    }

    public MyScrollView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public MyScrollView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    protected void onScrollChanged(int x, int y, int oldx, int oldy) {
        super.onScrollChanged(x, y, oldx, oldy);
        if(getScrollY() + getHeight() ==  computeVerticalScrollRange())
        {
            Log.d("jiaba","------滚动到最下方------");
            if(scrollViewListener!=null){
                scrollViewListener.onScrollChanged(this, x, y, oldx, oldy);
            }
        }
    }
}
================================================================
utils帮助类

public class OkHttp3Util {
    /**
     * 懒汉 安全 加同步
     * 私有的静态成员变量 只声明不创建
     * 私有的构造方法
     * 提供返回实例的静态方法
     */
    private static OkHttpClient okHttpClient = null;


    private OkHttp3Util() {
    }

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

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

    /**
     * get请求
     * 参数1 url
     * 参数2 回调Callback
     */

    public static void doGet(String url, Callback callback) {

        //创建OkHttpClient请求对象
        OkHttpClient okHttpClient = getInstance();
        //创建Request
        Request request = new Request.Builder().url(url).build();
        //得到Call对象
        Call call = okHttpClient.newCall(request);
        //执行异步请求
        call.enqueue(callback);
    }

    /**
     * post请求
     * 参数1 url
     * 参数2 Map<String, String> params post请求的时候给服务器传的数据
     *      add..("","")
     *      add()
     */

    public static void doPost(String url, Map<String, String> params, Callback callback) {

        //创建OkHttpClient请求对象
        OkHttpClient okHttpClient = getInstance();
        //3.x版本post请求换成FormBody 封装键值对参数

        FormBody.Builder builder = new FormBody.Builder();
        //遍历集合
        for (String key : params.keySet()) {
            builder.add(key, params.get(key));

        }
        //创建Request
        Request request = new Request.Builder().url(url).post(builder.build()).build();

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

    }

    /**
     * post请求上传文件....包括图片....流的形式传任意文件...
     * 参数1 url
     * file表示上传的文件
     * fileName....文件的名字,,例如aaa.jpg
     * params ....传递除了file文件 其他的参数放到map集合
     *
     */
    public static void uploadFile(String url, File file, String fileName,Map<String,String> params) {
        //创建OkHttpClient请求对象
        OkHttpClient okHttpClient = getInstance();

        MultipartBody.Builder builder = new MultipartBody.Builder();
        builder.setType(MultipartBody.FORM);

        //参数
        if (params != null){
            for (String key : params.keySet()){
                builder.addFormDataPart(key,params.get(key));
            }
        }
        //文件...参数name指的是请求路径中所接受的参数...如果路径接收参数键值是fileeeee,此处应该改变
        builder.addFormDataPart("file",fileName,RequestBody.create(MediaType.parse("application/octet-stream"),file));

        //构建
        MultipartBody multipartBody = builder.build();

        //创建Request
        Request request = new Request.Builder().url(url).post(multipartBody).build();

        //得到Call
        Call call = okHttpClient.newCall(request);
        //执行请求
        call.enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {

            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                //上传成功回调 目前不需要处理
                if (response.isSuccessful()){
                    String s = response.body().string();
                   // com.orhanobut.logger.Logger.e("上传--"+s);
                }
            }
        });

    }

    /**
     * Post请求发送JSON数据....{"name":"zhangsan","pwd":"123456"}
     * 参数一:请求Url
     * 参数二:请求的JSON
     * 参数三:请求回调
     */
    public static void doPostJson(String url, String jsonParams, Callback callback) {
        RequestBody requestBody = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), jsonParams);
        Request request = new Request.Builder().url(url).post(requestBody).build();
        Call call = getInstance().newCall(request);
        call.enqueue(callback);

    }

    /**
     * 下载文件 以流的形式把apk写入的指定文件 得到file后进行安装
     * 参数er:请求Url
     * 参数san:保存文件的文件夹....download
     */
    public static void download(final Activity context, final String url, final String saveDir) {
        Request request = new Request.Builder().url(url).build();
        Call call = getInstance().newCall(request);
        call.enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                //com.orhanobut.logger.Logger.e(e.getLocalizedMessage());
            }

            @Override
            public void onResponse(Call call, final Response response) throws IOException {

                InputStream is = null;
                byte[] buf = new byte[2048];
                int len = 0;
                FileOutputStream fos = null;
                try {
                    is = response.body().byteStream();//以字节流的形式拿回响应实体内容
                    //apk保存路径
                    final String fileDir = isExistDir(saveDir);
                    //文件
                    File file = new File(fileDir, getNameFromUrl(url));

                    fos = new FileOutputStream(file);
                    while ((len = is.read(buf)) != -1) {
                        fos.write(buf, 0, len);
                    }

                    fos.flush();

                    context.runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            Toast.makeText(context, "下载成功:" + fileDir + "," + getNameFromUrl(url), Toast.LENGTH_SHORT).show();
                        }
                    });

                    //apk下载完成后 调用系统的安装方法
                    Intent intent = new Intent(Intent.ACTION_VIEW);
                    intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
                    context.startActivity(intent);


                } catch (IOException e) {
                    e.printStackTrace();
                } finally {
                    if (is != null) is.close();
                    if (fos != null) fos.close();
                }
            }
        });

    }

    /**
     * 判断下载目录是否存在......并返回绝对路径
     *
     * @param saveDir
     * @return
     * @throws IOException
     */
    public static String isExistDir(String saveDir) throws IOException {
        // 下载位置
        if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {

            File downloadFile = new File(Environment.getExternalStorageDirectory(), saveDir);
            if (!downloadFile.mkdirs()) {
                downloadFile.createNewFile();
            }
            String savePath = downloadFile.getAbsolutePath();
            Log.e("savePath", savePath);
            return savePath;
        }
        return null;
    }

    /**
     * @param url
     * @return 从下载连接中解析出文件名
     */
    private static String getNameFromUrl(String url) {
        return url.substring(url.lastIndexOf("/") + 1);
    }
}

==========================================================

public class NetWorkUtil {
    /**
     * 这个方法是判断网络状态是否可用的
     * @param context
     * @return
     */
    public static boolean isConn(Context context){
        boolean bisConnFlag=false;
        //1.获取网络连接的管理对象
        ConnectivityManager conManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
        //2.通过管理者对象拿到网络的信息
        NetworkInfo network = conManager.getActiveNetworkInfo();
        if(network!=null){
            //3.网络状态是否可用的返回值
            bisConnFlag=network.isAvailable();
        }
        return bisConnFlag;
    }
    /**
     * 如果没有网络 弹出dialog对话框,,,是否进入设置网络的页面
     * @param context
     */
    public static void showNoNetWorkDlg(final Context context) {
        AlertDialog.Builder builder = new AlertDialog.Builder(context);
        builder.setIcon(R.mipmap.ic_launcher)         //
                .setTitle("警告")            //
                .setMessage("当前无网络,是否去设置?").setPositiveButton("设置", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                // 跳转到系统的网络设置界面
                Intent intent = null;
                // 先判断当前系统版本
                if(android.os.Build.VERSION.SDK_INT > 10){  // 3.0以上
                    intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);
                }else{
                    intent = new Intent();
                    intent.setClassName("com.android.settings", "com.android.settings.WirelessSettings");
                }
                context.startActivity(intent);
            }
        }).setNegativeButton("取消", null).show();
    }
}
==============================================================

public class DashApplication extends Application {

    private static Context context;
    private static Handler handler;
    private static int mainId;
    public static boolean isLoginSuccess;//是否已经登录的状态


    @Override
    public void onCreate() {
        super.onCreate();
        //引用图片
        ImageLoaderUtil.getImage(this);
        //关于context----http://blog.csdn.net/lmj623565791/article/details/40481055
        context = getApplicationContext();
        //初始化handler
        handler = new Handler();
        //主线程的id
        mainId = Process.myTid();
    }

    /**
     * 对外提供了context
     * @return
     */
    public static Context getAppContext() {
        return context;
    }

    /**
     * 得到全局的handler
     * @return
     */
    public static Handler getAppHanler() {
        return handler;
    }

    /**
     * 获取主线程id
     * @return
     */
    public static int getMainThreadId() {
        return mainId;
    }
}
======================================================

public class CommonUtils {
    public static final String TAG = "Dash";//sp文件的xml名称
    private static SharedPreferences sharedPreferences;

    /**
     * DashApplication.getAppContext()可以使用,但是会使用系统默认的主题样式,如果你自定义了某些样式可能不会被使用
     * @param layoutId
     * @return
     */
    public static View inflate(int layoutId) {
        View view = View.inflate(DashApplication.getAppContext(), layoutId, null);
        return view;
    }

    /**
     * dip---px
     *
     * @param dip 设备独立像素device independent px....1dp = 3px 1dp = 2px 1dp = 1.5px
     * @return
     */
    public static int dip2px(int dip) {
        //获取像素密度
        float density = DashApplication.getAppContext().getResources().getDisplayMetrics().density;
        //
        int px = (int) (dip * density + 0.5f);//100.6
        return px;

    }

    /**
     * px-dip
     *
     * @param px
     * @return
     */
    public static int px2dip(int px) {
        //获取像素密度
        float density = DashApplication.getAppContext().getResources().getDisplayMetrics().density;
        //
        int dip = (int) (px / density + 0.5f);
        return dip;

    }

    /**
     * 获取资源中的字符串
     * @param stringId
     * @return
     */
    public static String getString(int stringId) {
        return DashApplication.getAppContext().getResources().getString(stringId);
    }

    public static Drawable getDrawable(int did) {
        return DashApplication.getAppContext().getResources().getDrawable(did);
    }

    public static int getDimens(int id) {
        return DashApplication.getAppContext().getResources().getDimensionPixelSize(id);
    }

    /**
     * sp存入字符串类型的值
     * @param flag
     * @param str
     */
    public static void saveSp(String flag, String str) {
        if (sharedPreferences == null) {
            sharedPreferences = DashApplication.getAppContext().getSharedPreferences(TAG, DashApplication.getAppContext().MODE_PRIVATE);
        }
        SharedPreferences.Editor edit = sharedPreferences.edit();
        edit.putString(flag, str);
        edit.commit();
    }

    public static String getSp(String flag) {
        if (sharedPreferences == null) {
            sharedPreferences = DashApplication.getAppContext().getSharedPreferences(TAG, DashApplication.getAppContext().MODE_PRIVATE);
        }
        return sharedPreferences.getString(flag, "");
    }

    public static boolean getBoolean(String tag) {
        if (sharedPreferences == null) {
            sharedPreferences = DashApplication.getAppContext().getSharedPreferences(TAG, DashApplication.getAppContext().MODE_PRIVATE);
        }
        return sharedPreferences.getBoolean(tag, false);
    }

    public static void putBoolean(String tag, boolean content) {
        if (sharedPreferences == null) {
            sharedPreferences = DashApplication.getAppContext().getSharedPreferences(TAG, DashApplication.getAppContext().MODE_PRIVATE);
        }
        SharedPreferences.Editor edit = sharedPreferences.edit();
        edit.putBoolean(tag, content);
        edit.commit();
    }

    /**
     * 清除sp数据
     * @param tag
     */
    public static void clearSp(String tag) {
        if (sharedPreferences == null) {
            sharedPreferences = DashApplication.getAppContext().getSharedPreferences(TAG, DashApplication.getAppContext().MODE_PRIVATE);
        }
        SharedPreferences.Editor edit = sharedPreferences.edit();
        edit.remove(tag);
        edit.commit();
    }

    /**
     * 自己写的运行在主线程的方法
     * 如果是主线程,执行任务,否则使用handler发送到主线程中去执行
     *
     *
     * @param runable
     */
    public static void runOnUIThread(Runnable runable) {
        //先判断当前属于子线程还是主线程
        if (android.os.Process.myTid() == DashApplication.getMainThreadId()) {
            runable.run();
        } else {
            //子线程
            DashApplication.getAppHanler().post(runable);
        }
    }
}
==============================================================
public class MyDingDanFra extends Fragment {

    private XRecyclerView dingdanXRecyclerView;
    private MyPersent myPersent;
    int page=1;
    ArrayList<MyDingDanBean.DataBean> list = new ArrayList<>();
    private MyDingDanAdapter myDingDanAdapter;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.mydingdanfra, container, false);
        dingdanXRecyclerView = view.findViewById(R.id.dingdanXRecyclerView);
        dingdanXRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), OrientationHelper.VERTICAL,false));

        myPersent = new MyPersent();
        return view;
    }

    @Override
    public void onResume() {
        super.onResume();
        String ss = Main6Activity.ss;
        if(ss.equals("全部")){

        }
        getFirstDingDanContent();

        dingdanXRecyclerView.setPullRefreshEnabled(true);
        dingdanXRecyclerView.setLoadingMoreEnabled(true);
        dingdanXRecyclerView.setRefreshProgressStyle(ProgressStyle.BallSpinFadeLoader);
        dingdanXRecyclerView.setLoadingMoreProgressStyle(ProgressStyle.Pacman);
        dingdanXRecyclerView.setLoadingListener(new XRecyclerView.LoadingListener() {
            @Override
            public void onRefresh() {
                Log.i("jiba","onRefresh====");
                getMainDingDanContent();
                dingdanXRecyclerView.refreshComplete();
            }

            @Override
            public void onLoadMore() {
                Log.i("jiba","onLoadMore====");
//                Toast.makeText(getActivity(),"正在加载更多数据..",Toast.LENGTH_SHORT).show();
                dingdanXRecyclerView.loadMoreComplete();
            }
        });

    }

    private void getFirstDingDanContent() {
        page=1;
        myPersent.getPerContent(APIuil.getOrders(page), new MyJieKou() {
            @Override
            public void cheng(String json) {
                Gson gson = new Gson();
                MyDingDanBean myDingDanBean = gson.fromJson(json, MyDingDanBean.class);

                if(myDingDanBean.getCode().equals("0")){
                    String ss = Main6Activity.ss;
                    List<MyDingDanBean.DataBean> data = myDingDanBean.getData();
                    if(ss.equals("全部")){
                        list.clear();
                        list.addAll(data);
                    }else if(ss.equals("待支付")){
                        list.clear();
                        for (MyDingDanBean.DataBean d:data) {
                            if(d.getStatus()==0){
                                list.add(d);
                            }
                        }
                    }else if(ss.equals("已支付")){
                        list.clear();
                        for (MyDingDanBean.DataBean d:data) {
                            if(d.getStatus()==1){
                                list.add(d);
                            }
                        }
                    }else if(ss.equals("已取消")){
                        list.clear();
                        for (MyDingDanBean.DataBean d:data) {
                            if(d.getStatus()==2){
                                list.add(d);
                            }
                        }
                    }
                    if(list.size()>0){
                        setDingDanAdapter();
                    }else{
                        Toast.makeText(getActivity(),"该状态下没有订单",Toast.LENGTH_SHORT).show();
                    }
                }else{
                    Toast.makeText(getActivity(),myDingDanBean.getMsg(),Toast.LENGTH_SHORT).show();
                }

            }

            @Override
            public void shibai(String ss) {
                Toast.makeText(getActivity(),ss,Toast.LENGTH_SHORT).show();
            }
        });
    }

    private void getMainDingDanContent() {
        page++;
        myPersent.getPerContent(APIuil.getOrders(page), new MyJieKou() {
            @Override
            public void cheng(String json) {
                Gson gson = new Gson();
                MyDingDanBean myDingDanBean = gson.fromJson(json, MyDingDanBean.class);
                if(myDingDanBean.getCode().equals("0")){
                    String ss = Main6Activity.ss;
                    List<MyDingDanBean.DataBean> data = myDingDanBean.getData();

                    if(data.size()>0){
                        if(ss.equals("全部")){
//                        list.clear();
                            list.addAll(data);
                        }else if(ss.equals("待支付")){
//                        list.clear();
                            for (MyDingDanBean.DataBean d:data) {
                                if(d.getStatus()==0){
                                    list.add(d);
                                }
                            }
                        }else if(ss.equals("已支付")){
//                        list.clear();
                            for (MyDingDanBean.DataBean d:data) {
                                if(d.getStatus()==1){
                                    list.add(d);
                                }
                            }
                        }else if(ss.equals("已取消")){
//                        list.clear();
                            for (MyDingDanBean.DataBean d:data) {
                                if(d.getStatus()==2){
                                    list.add(d);
                                }
                            }
                        }
                        if(list.size()>0){
                            setDingDanAdapter();
                        }else{
                            Toast.makeText(getActivity(),"该状态下没有订单",Toast.LENGTH_SHORT).show();
                        }
                    }else{
                        page=1;
//                        Log.i("jiab","getMainDingDanContent==="+json);
                        Toast.makeText(getActivity(),"没有下一页啦!",Toast.LENGTH_SHORT).show();
                    }

                }else{
                    Toast.makeText(getActivity(),myDingDanBean.getMsg(),Toast.LENGTH_SHORT).show();
                }

            }

            @Override
            public void shibai(String ss) {
                Toast.makeText(getActivity(),ss,Toast.LENGTH_SHORT).show();
            }
        });
    }
    public void setDingDanAdapter(){
        if(myDingDanAdapter==null){
            myDingDanAdapter = new MyDingDanAdapter(getActivity(), list);
            dingdanXRecyclerView.setAdapter(myDingDanAdapter);
        }else{
            myDingDanAdapter.notifyDataSetChanged();
        }

    }
}
=================================================================
接口类

public class MyPersent {

    private final MyModel myModel;

    public MyPersent() {
        myModel = new MyModel();
    }

    public void getPerContent(String url, final MyJieKou myJieKou){
        myModel.getModContent(url, new MyJieKou() {
            @Override
            public void cheng(String json) {
                myJieKou.cheng(json);
            }

            @Override
            public void shibai(String ss) {
                myJieKou.shibai(ss);
            }
        });
    }
}
================================================================

public class MyModel {
    public void getModContent(String url, final MyJieKou myJieKou){
        OkHttp3Util.doGet(url, new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                e.printStackTrace();
                CommonUtils.runOnUIThread(new Runnable() {
                    @Override
                    public void run() {
                        myJieKou.shibai("请求失败!");
                    }
                });

            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                final String json = response.body().string();
                CommonUtils.runOnUIThread(new Runnable() {
                    @Override
                    public void run() {
                        myJieKou.cheng(json);
                    }
                });

            }
        });
    }
}
=================================================================

public interface MyJieKou {
    void cheng(String json);
    void shibai(String ss);
}
=======================================================
接口地址

public class APIuil {
    public static String shouye="https://www.zhaoapi.cn/ad/getAd?source=android";

    //http://120.27.23.105/product/searchProducts?keywords=德龙咖啡机&source=android
    //德龙咖啡机
    //搜索
    public static String sousuo(String s){
        String ss="http://120.27.23.105/product/searchProducts?keywords="+s+"&source=android";
        return ss;
    }
    //商品数据
    public static String gouwu(int page){
        String gouwu="https://www.zhaoapi.cn/product/getProducts?pscid=2&page="+page+"&source=android";
        return gouwu;
    }
    //注册
    public static String zhuceJieKou(String mobile,String pass){
        String zhuce="https://www.zhaoapi.cn/user/reg?mobile="+mobile+"&password="+pass+"&source=android";
        return zhuce;
    }
    //登录
    public static String dengluJieKou(String mobile,String pass){
        String denglu="https://www.zhaoapi.cn/user/login?mobile="+mobile+"&password="+pass+"&source=android";
        return denglu;
    }

    //查看个人信息
    public static String getRen(String uid){
        String geren="https://www.zhaoapi.cn/user/getUserInfo?uid="+uid+"&source=android";
        return geren;
    }


    //商品详情  https://www.zhaoapi.cn/product/getProductDetail?pid=34
    public static String shangping(String pid){
        String ss="https://www.zhaoapi.cn/product/getProductDetail?pid="+pid+"&source=android";
        return ss;
    }

    //添加购物车
    public static String addCar(String uid, int pid){
        String addCarJiekou="https://www.zhaoapi.cn/product/addCart?uid="+uid+"&pid="+pid+"&source=android";
        return addCarJiekou;
    }

    //查询车   https://www.zhaoapi.cn/product/getCarts
    public static String getCar(String uid){
        String addCarJiekou="http://120.27.23.105/product/getCarts?Uid="+uid+"&source=android";
        return addCarJiekou;
    }
    //删除数据  http://120.27.23.105/product/deleteCart?uid=72&pid=1
    public static String deleteCar(String uid,String pid){
        String ss="http://120.27.23.105/product/deleteCart?uid="+uid+"&pid="+pid+"&source=android";
        return ss;
    }

    //更新购物车
    public static String updataCart(String uid,MyGouBean.DataBean.ListBean l){
        String ss="https://www.zhaoapi.cn/product/updateCarts?uid="+uid+"&sellerid="+l.getSellerid()+"&pid="+l.getPid()+"&selected="+l.getSelected()+"&num="+l.getNum()+"&source=android";
        return ss;
    }

    //分类左侧列表
    public static String fenlei="http://120.27.23.105/product/getCatagory";

    //分类布局...右侧..商品子分类接口
    public static String zifenlei(String cid){
         String zifenlei="http://120.27.23.105/product/getProductCatagory?cid="+cid+"&source=android";
        return zifenlei;
    }

    //上传文件
    public static String chuanFile(String file){
        String chuan="https://www.zhaoapi.cn/file/upload?uid=3470&file="+file+"&source=android";
        return chuan;
    }

    //创建订单
    public static String createOrder(String price){
        String createdan="http://120.27.23.105/product/createOrder?uid=3470&price="+price+"&source=android";
        return createdan;
    }

    //查看订单
    //http://120.27.23.105/product/getOrders?uid=71
    public static String getOrders(int page){
        String url="http://120.27.23.105/product/getOrders?uid=3470&page="+page+"&source=android";
        return url;
    }
}
==========================================================

添加依赖

compile 'com.squareup.okhttp3:okhttp:3.6.0'
    compile 'com.squareup.okio:okio:1.11.0'
    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
    compile 'com.google.code.gson:gson:2.2.4'
    compile 'com.xhb:xbanner:1.2.9'
    compile 'com.github.bumptech.glide:glide:3.7.0'
    compile 'jp.wasabeef:glide-transformations:1.0.6'
    compile 'com.android.support:design:26.0.0-alpha1'
    compile 'com.jcodecraeer:xrecyclerview:1.5.2'



<shape xmlns:android="http://schemas.android.com/apk/res/android">

    <corners android:radius="20dp"/>
    <stroke android:color="#000" android:width="1dp"/>
    <solid android:color="#FFF"/>
</shape>