防京东分类

依赖

compile 'com.hjm:BottomTabBar:1.1.1'
compile 'com.squareup.retrofit2:retrofit:2.0.1'
compile 'com.squareup.retrofit2:converter-gson:2.0.1'
compile 'com.squareup.retrofit2:adapter-rxjava:2.0.1'
compile 'com.android.support:recyclerview-v7:26.0.0-alpha1'
compile 'io.reactivex:rxandroid:1.1.0'
compile 'com.youth.banner:banner:1.4.9'
compile 'org.greenrobot:eventbus:3.1.1'
compile 'com.facebook.fresco:fresco:0.9.0+'
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
compile 'com.github.bumptech.glide:glide:3.7.0'



主布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:orientation="horizontal"
    tools:context="com.example.administrator.fenlei.MainActivity">

    <ListView
        android:layout_width="130dp"
        android:layout_height="match_parent"
        android:id="@+id/listview"
        android:choiceMode="singleChoice"
        />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        >
        <ImageView
            android:id="@+id/op"
            android:layout_width="match_parent"
            android:layout_height="110dp"
            android:layout_toRightOf="@+id/lv"
            android:scaleType="fitXY"
            android:src="@drawable/cc"/>
        <ExpandableListView
            android:layout_below="@+id/op"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:id="@+id/exlist"
            android:layout_alignLeft="@+id/op"
            ></ExpandableListView>

    </LinearLayout>
</LinearLayout>
子布局
 
<?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">
<TextView
    android:id="@+id/clname"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:textSize="20dp"
    />
</LinearLayout>
子布局2
 
<?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">
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/shang"
    android:textColor="@color/colorAccent"
    android:textSize="20dp"
    />
</LinearLayout>

子布局3
 
<?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">
    <ImageView
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:id="@+id/img"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/name3"
        />

</LinearLayout>

grid布局
 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
<GridView
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:numColumns="3"
    android:id="@+id/grv"
    ></GridView>
</LinearLayout>

主activity

package com.example.administrator.fenlei;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ExpandableListView;
import android.widget.ListView;

import com.example.administrator.fenlei.Bean.ClassBean;
import com.example.administrator.fenlei.Bean.ClassBean2;
import com.example.administrator.fenlei.Classadapter.ClassBaseAdapter;
import com.example.administrator.fenlei.Classadapter.ClassBaseadapter2;
import com.example.administrator.fenlei.Presenter.CLassPresenter;
import com.example.administrator.fenlei.View.IclassView2;
import com.example.administrator.fenlei.View.Iclassview;

import java.util.List;

public class MainActivity extends AppCompatActivity {
    private ListView lv;
    private ExpandableListView exlist;
    private CLassPresenter cLassPresenter;
    private List<ClassBean.DataBean> data;
    private CLassPresenter cLassPresenter1;
    private ClassBaseAdapter classBaseAdapter;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        lv = (ListView) findViewById (R.id.listview);
        exlist = (ExpandableListView) findViewById (R.id.exlist);
        cLassPresenter = new CLassPresenter ();
        cLassPresenter.getclassPresenter(new Iclassview() {



            @Override
            public void OnSuccess(ClassBean ClassBean) {
                data = ClassBean.getData();
                classBaseAdapter = new ClassBaseAdapter(MainActivity.this, data);
                lv.setAdapter(classBaseAdapter);
            }
        });
        cLassPresenter1 = new CLassPresenter();
        getdatabase();

        lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                classBaseAdapter.setCurrentItem(i);
                classBaseAdapter.setClick(true);
                classBaseAdapter.notifyDataSetChanged();
                int cid = data.get(i).getCid();
                cLassPresenter1.getclassPresenter2(cid + "", "android", new IclassView2() {
                    private List<ClassBean2.DataBean> data2;
                    @Override
                    public void OnSuccess(ClassBean2 ClassBean2) {
                        data2=ClassBean2.getData();
                        Log.i ("333333",data2.get (0).getName ());
                        ClassBaseadapter2 classBaseadapter2 = new ClassBaseadapter2(MainActivity.this, data2);
                        exlist.setAdapter(classBaseadapter2);
                        int count = exlist.getCount();
                        for (int i=0;i<count;i++){
                            exlist.expandGroup(i);
                        }

                    }
                });
            }
        });
    }

    public void getdatabase() {
        cLassPresenter1.getclassPresenter2("1", "android", new IclassView2() {
            private List<ClassBean2.DataBean> data2;
            @Override
            public void OnSuccess(ClassBean2 ClassBean2) {
               data2=ClassBean2.getData();
                Log.i ("刘鑫333333",data2.get (0).getName ());
                ClassBaseadapter2 classBaseadapter2 = new ClassBaseadapter2(MainActivity.this, data2);
                exlist.setAdapter(classBaseadapter2);
                int count = exlist.getCount();
                for (int i=0;i<count;i++){
                    exlist.expandGroup(i);
                }


            }
        });
    }
}
Api


package com.example.administrator.fenlei.API;

/**
 * Created by lenovo on 2018/4/3.
 */

public class Api {
    //登录接口
    //https://www.zhaoapi.cn/user/login
    //注册接口
    //https://www.zhaoapi.cn/user/reg
   //上传头像
    //https://www.zhaoapi.cn/file/upload
    //获取用户信息
    //https://www.zhaoapi.cn/user/getUserInfo
    //首页广告(轮播图+京东秒杀+最底部的为你推荐)
    //https://www.zhaoapi.cn/ad/getAd
    //商品分类接口(此接口用于首页九宫格,和底部页签分类页)
    //https://www.zhaoapi.cn/product/getCatagory
    //商品子分类接口
    //https://www.zhaoapi.cn/product/getProductCatagory
   //商品详情
    //https://www.zhaoapi.cn/product/getProductDetail
    //当前子分类下的商品列表
    //https://www.zhaoapi.cn/product/getProducts
    //根据关键词搜索商品
    //https://www.zhaoapi.cn/product/searchProducts?keywords=笔记本&page=1
   //修改昵称
    //https://www.zhaoapi.cn/user/updateNickName
   //添加购物车
    //https://www.zhaoapi.cn/product/addCart
   //查询购物车
    //https://www.zhaoapi.cn/product/getCarts
    //更新购物车
    //https://www.zhaoapi.cn/product/updateCarts?uid=71&sellerid=1&pid=1&selected=0&num=10
    //删除购物车(新增)
    //https://www.zhaoapi.cn/product/deleteCart?uid=72&pid=1
    //修改订单状态
    //https://www.zhaoapi.cn/product/updateOrder?uid=71&status=1&orderId=1
    //创建订单(为了开发方便,只做简单功能)
    //https://www.zhaoapi.cn/product/createOrder?uid=71&price=99.99
    //订单列表
    //https://www.zhaoapi.cn/product/getOrders?uid=71
    //常用收货地址列表
    //https://www.zhaoapi.cn/user/getAddrs?uid=71
    //添加常用收获地址
    //https://www.zhaoapi.cn/user/addAddr?uid=71&addr=北京市昌平区金域国际1-1-1&mobile=18612991023&name=kson
   //修改常用收货地址
    //https://www.zhaoapi.cn/user/updateAddr?uid=71&addrid=2
    //设置默认地址
    //https://www.zhaoapi.cn/user/setAddr?uid=71&addrid=3&status=1
    //获取默认地址
    //https://www.zhaoapi.cn/user/getDefaultAddr?uid=71
    public static  String url="https://www.zhaoapi.cn/";

}
 
ApiSevice

package com.example.administrator.fenlei.API;


import com.example.administrator.fenlei.Bean.ClassBean;
import com.example.administrator.fenlei.Bean.ClassBean2;

import retrofit2.http.GET;
import retrofit2.http.Query;
import rx.Observable;

/**
 * Created by lenovo on 2018/4/3.
 */

public interface ApiSevice {

    //分类
    @GET("product/getCatagory")
    Observable<ClassBean> getParemr2();
    @GET("product/getProductCatagory")
    Observable<ClassBean2>  getParemr3(@Query("cid") String cid, @Query("source") String android);

}

Bean类
 
package com.example.administrator.fenlei.Bean;

import java.util.List;

/**
 * Created by lenovo on 2018/4/4.
 */

public class ClassBean {

    /**
     * msg :
     * code : 0
     * data : [{"cid":1,"createtime":"2017-10-10T19:41:39","icon":"http://120.27.23.105/images/category/shop.png","ishome":1,"name":"京东超市"},{"cid":2,"createtime":"2017-10-10T19:41:39","icon":"http://120.27.23.105/images/category/qqg.png","ishome":1,"name":"全球购"},{"cid":3,"createtime":"2017-10-10T19:45:11","icon":"http://120.27.23.105/images/category/phone.png","ishome":1,"name":"手机数码"},{"cid":5,"createtime":"2017-10-10T20:12:03","icon":"http://120.27.23.105/images/category/man.png","ishome":1,"name":"男装"},{"cid":6,"createtime":"2017-10-10T20:12:03","icon":"http://120.27.23.105/images/category/girl.png","ishome":1,"name":"女装"},{"cid":7,"createtime":"2017-10-10T20:12:03","icon":"http://120.27.23.105/images/category/manshoe.png","ishome":1,"name":"男鞋"},{"cid":8,"createtime":"2017-10-10T20:12:03","icon":"http://120.27.23.105/images/category/girlshoe.png","ishome":1,"name":"女鞋"},{"cid":9,"createtime":"2017-10-10T20:12:03","icon":"http://120.27.23.105/images/category/shirt.png","ishome":1,"name":"内衣配饰"},{"cid":10,"createtime":"2017-10-10T20:12:03","icon":"http://120.27.23.105/images/category/bag.png","ishome":1,"name":"箱包手袋"},{"cid":11,"createtime":"2017-10-10T20:12:03","icon":"http://120.27.23.105/images/category/beauty.png","ishome":1,"name":"美妆个护"},{"cid":12,"createtime":"2017-10-10T20:12:03","icon":"http://120.27.23.105/images/category/jewel.png","ishome":1,"name":"钟表珠宝"},{"cid":13,"createtime":"2017-10-10T20:12:03","icon":"http://120.27.23.105/images/category/luxury.png","ishome":1,"name":"奢侈品"},{"cid":14,"createtime":"2017-10-10T20:12:03","icon":"http://120.27.23.105/images/category/computer.png","ishome":1,"name":"电脑办公"},{"cid":15,"createtime":"2017-09-29T10:13:48","icon":"http://120.27.23.105/images/icon.png","ishome":0,"name":"家用电器"},{"cid":16,"createtime":"2017-09-29T10:13:48","icon":"http://120.27.23.105/images/icon.png","ishome":0,"name":"食品生鲜"},{"cid":17,"createtime":"2017-09-29T10:13:48","icon":"http://120.27.23.105/images/icon.png","ishome":0,"name":"酒水饮料"},{"cid":18,"createtime":"2017-09-29T10:13:48","icon":"http://120.27.23.105/images/icon.png","ishome":0,"name":"母婴童装"},{"cid":19,"createtime":"2017-09-29T10:13:48","icon":"http://120.27.23.105/images/icon.png","ishome":0,"name":"玩具乐器"},{"cid":20,"createtime":"2017-09-29T10:13:48","icon":"http://120.27.23.105/images/icon.png","ishome":0,"name":"医药保健"}]
     */

    private String msg;
    private String code;
    private List<DataBean> data;

    public String getMsg() {
        return msg;
    }

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

    public String getCode() {
        return code;
    }

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

    public List<DataBean> getData() {
        return data;
    }

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

    public static class DataBean {
        /**
         * cid : 1
         * createtime : 2017-10-10T19:41:39
         * icon : http://120.27.23.105/images/category/shop.png
         * ishome : 1
         * name : 京东超市
         */

        private int cid;
        private String createtime;
        private String icon;
        private int ishome;
        private String name;

        public int getCid() {
            return cid;
        }

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

        public String getCreatetime() {
            return createtime;
        }

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

        public String getIcon() {
            return icon;
        }

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

        public int getIshome() {
            return ishome;
        }

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

        public String getName() {
            return name;
        }

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

 
package com.example.administrator.fenlei.Bean;

import java.util.List;

/**
 * Created by lenovo on 2018/4/4.
 */

public class ClassBean2 {


    /**
     * msg : 获取子分类成功
     * code : 0
     * data : [{"cid":"1","list":[{"icon":"http://120.27.23.105/images/icon.png","name":"月饼","pcid":1,"pscid":1},{"icon":"http://120.27.23.105/images/icon.png","name":"坚果炒货","pcid":1,"pscid":2},{"icon":"http://120.27.23.105/images/icon.png","name":"糖巧","pcid":1,"pscid":3},{"icon":"http://120.27.23.105/images/icon.png","name":"休闲零食","pcid":1,"pscid":4},{"icon":"http://120.27.23.105/images/icon.png","name":"肉干肉脯","pcid":1,"pscid":5},{"icon":"http://120.27.23.105/images/icon.png","name":"饼干蛋糕","pcid":1,"pscid":6},{"icon":"http://120.27.23.105/images/icon.png","name":"蜜饯果干","pcid":1,"pscid":7},{"icon":"http://120.27.23.105/images/icon.png","name":"无糖食品","pcid":1,"pscid":8}],"name":"休闲零食","pcid":"1"},{"cid":"1","list":[{"icon":"http://120.27.23.105/images/icon.png","name":"新鲜水果","pcid":2,"pscid":9},{"icon":"http://120.27.23.105/images/icon.png","name":"海鲜水产","pcid":2,"pscid":10},{"icon":"http://120.27.23.105/images/icon.png","name":"精选肉类","pcid":2,"pscid":11},{"icon":"http://120.27.23.105/images/icon.png","name":"蛋类","pcid":2,"pscid":12},{"icon":"http://120.27.23.105/images/icon.png","name":"新鲜蔬菜","pcid":2,"pscid":13},{"icon":"http://120.27.23.105/images/icon.png","name":"冷冻食品","pcid":2,"pscid":14},{"icon":"http://120.27.23.105/images/icon.png","name":"饮品甜品","pcid":2,"pscid":15},{"icon":"http://120.27.23.105/images/icon.png","name":"大闸蟹","pcid":2,"pscid":16}],"name":"京东生鲜","pcid":"2"},{"cid":"1","list":[{"icon":"http://120.27.23.105/images/icon.png","name":"大米","pcid":3,"pscid":21},{"icon":"http://120.27.23.105/images/icon.png","name":"面粉","pcid":3,"pscid":22},{"icon":"http://120.27.23.105/images/icon.png","name":"杂粮","pcid":3,"pscid":23},{"icon":"http://120.27.23.105/images/icon.png","name":"食用油","pcid":3,"pscid":24},{"icon":"http://120.27.23.105/images/icon.png","name":"调味品","pcid":3,"pscid":25},{"icon":"http://120.27.23.105/images/icon.png","name":"方便速食","pcid":3,"pscid":26},{"icon":"http://120.27.23.105/images/icon.png","name":"有机食品","pcid":3,"pscid":27}],"name":"粮油调味","pcid":"3"},{"cid":"1","list":[{"icon":"http://120.27.23.105/images/icon.png","name":"饮用水","pcid":4,"pscid":28},{"icon":"http://120.27.23.105/images/icon.png","name":"饮料","pcid":4,"pscid":29},{"icon":"http://120.27.23.105/images/icon.png","name":"牛奶乳品","pcid":4,"pscid":30},{"icon":"http://120.27.23.105/images/icon.png","name":"名茶","pcid":4,"pscid":31},{"icon":"http://120.27.23.105/images/icon.png","name":"蜂蜜","pcid":4,"pscid":32}],"name":"水饮茗茶","pcid":"4"},{"cid":"1","list":[{"icon":"http://120.27.23.105/images/icon.png","name":"白酒","pcid":5,"pscid":33},{"icon":"http://120.27.23.105/images/icon.png","name":"葡萄酒","pcid":5,"pscid":34},{"icon":"http://120.27.23.105/images/icon.png","name":"洋酒","pcid":5,"pscid":35},{"icon":"http://120.27.23.105/images/icon.png","name":"啤酒","pcid":5,"pscid":36},{"icon":"http://120.27.23.105/images/icon.png","name":"黄酒","pcid":5,"pscid":37},{"icon":"http://120.27.23.105/images/icon.png","name":"陈年老酒","pcid":5,"pscid":38}],"name":"中外名酒","pcid":"5"}]
     */

    private String msg;
    private String code;
    private List<DataBean> data;

    public String getMsg() {
        return msg;
    }

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

    public String getCode() {
        return code;
    }

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

    public List<DataBean> getData() {
        return data;
    }

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

    public static class DataBean {
        /**
         * cid : 1
         * list : [{"icon":"http://120.27.23.105/images/icon.png","name":"月饼","pcid":1,"pscid":1},{"icon":"http://120.27.23.105/images/icon.png","name":"坚果炒货","pcid":1,"pscid":2},{"icon":"http://120.27.23.105/images/icon.png","name":"糖巧","pcid":1,"pscid":3},{"icon":"http://120.27.23.105/images/icon.png","name":"休闲零食","pcid":1,"pscid":4},{"icon":"http://120.27.23.105/images/icon.png","name":"肉干肉脯","pcid":1,"pscid":5},{"icon":"http://120.27.23.105/images/icon.png","name":"饼干蛋糕","pcid":1,"pscid":6},{"icon":"http://120.27.23.105/images/icon.png","name":"蜜饯果干","pcid":1,"pscid":7},{"icon":"http://120.27.23.105/images/icon.png","name":"无糖食品","pcid":1,"pscid":8}]
         * name : 休闲零食
         * pcid : 1
         */

        private String cid;
        private String name;
        private String pcid;
        private List<ListBean> list;

        public String getCid() {
            return cid;
        }

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

        public String getName() {
            return name;
        }

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

        public String getPcid() {
            return pcid;
        }

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

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

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

        public static class ListBean {
            /**
             * icon : http://120.27.23.105/images/icon.png
             * name : 月饼
             * pcid : 1
             * pscid : 1
             */

            private String icon;
            private String name;
            private int pcid;
            private int pscid;

            public String getIcon() {
                return icon;
            }

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

            public String getName() {
                return name;
            }

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

            public int getPcid() {
                return pcid;
            }

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

            public int getPscid() {
                return pscid;
            }

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

适配器
 
package com.example.administrator.fenlei.Classadapter;

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

import com.example.administrator.fenlei.Bean.ClassBean;
import com.example.administrator.fenlei.R;

import java.util.List;

/**
 * Created by lenovo on 2018/4/4.
 */

public class ClassBaseAdapter extends BaseAdapter {
    private Context context;
    private List<ClassBean.DataBean> list;
    private MyViewHodle myViewHodle;
    private int mCurrentItem=0;
    private boolean isClick=false;
    public ClassBaseAdapter(Context context, List<ClassBean.DataBean> list) {
        this.context = context;
        this.list = list;
    }

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

    @Override
    public Object getItem(int position) {
        return list.get (position);
    }

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

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if(convertView==null){
            myViewHodle = new MyViewHodle ();
            convertView=View.inflate (context, R.layout.classitem,null);
            myViewHodle.clname= convertView.findViewById (R.id.clname);
        }
        myViewHodle.clname.setText (list.get (position).getName ());
        if(mCurrentItem==position&&isClick){
        parent.setBackgroundColor (Color.parseColor ("#3f51b5"));
        myViewHodle.clname.setTextColor (Color.parseColor("#ff6600"));
        }else{
            parent.setBackgroundColor(Color.parseColor("#ffffff"));
            myViewHodle.clname.setTextColor(Color.parseColor("#000000"));
        }
        return convertView;
    }
    public void setCurrentItem(int currentItem){
        this.mCurrentItem=currentItem;
    }
    public void setClick(boolean click){
        this.isClick=click;
    }
    class MyViewHodle{
        TextView clname;
    }

}

 
 
 
package com.example.administrator.fenlei.Classadapter;

import android.content.Context;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseExpandableListAdapter;
import android.widget.GridView;
import android.widget.TextView;
import android.widget.Toast;

import com.example.administrator.fenlei.Bean.ClassBean2;
import com.example.administrator.fenlei.R;

import java.util.List;

/*
 * Created by lenovo on 2018/4/4.
 */

public class ClassBaseadapter2 extends BaseExpandableListAdapter {
    private Context context;
    private List<ClassBean2.DataBean> list;
    private TextView shang;
    private GridView grv;
    private List<ClassBean2.DataBean.ListBean> list1;
    public ClassBaseadapter2(Context context, List<ClassBean2.DataBean> list) {
        this.context = context;
        this.list = list;
        Log.d ("jiba2", "ClassBaseadapter2: "+list.get (0).getList ().get (0).getIcon());
    }

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

    @Override
    public int getChildrenCount(int groupPosition) {
        return list.get (groupPosition).getList ().size ();
    }

    @Override
    public Object getGroup(int groupPosition) {
        return list.get (groupPosition);
    }

    @Override
    public Object getChild(int groupPosition, int childPosition) {
        return list.get (groupPosition).getList ().get (childPosition);
    }

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

    @Override
    public long getChildId(int groupPosition, int childPosition) {
        return childPosition;
    }

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

    @Override
    public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
        convertView=View.inflate (context, R.layout.classitem2,null);
        shang = convertView.findViewById (R.id.shang);
        shang.setText (list.get (groupPosition).getName ());
        return convertView;
    }

    @Override
    public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
        convertView=View.inflate (context,R.layout.classitemgrview,null);
            grv = convertView.findViewById (R.id.grv);
        list1 = list.get (groupPosition).getList ();
        Log.i ("TAG",list1.get (groupPosition).getName ());
        ClassBaseAdapter3 ClassBaseAdapter3=new ClassBaseAdapter3 (context,list1);
        grv.setAdapter (ClassBaseAdapter3);
        grv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                Toast.makeText(context,list1.get(i).getName(),Toast.LENGTH_LONG).show();

            }
        });
        return convertView;
    }

    @Override
    public boolean isChildSelectable(int groupPosition, int childPosition) {
        return true;
    }
}

 
 
 
package com.example.administrator.fenlei.Classadapter;

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

import com.bumptech.glide.Glide;
import com.example.administrator.fenlei.Bean.ClassBean2;
import com.example.administrator.fenlei.R;

import java.util.List;


/**
 * Created by lenovo on 2018/4/4.
 */

public class ClassBaseAdapter3 extends BaseAdapter {
    private Context context;
    private List<ClassBean2.DataBean.ListBean> list;
    private ImageView img;
    private TextView name3;

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

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

    @Override
    public Object getItem(int position) {
        return list.get (position);
    }

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

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if(convertView==null){
            convertView=View.inflate (context, R.layout.classitem3,null);
            img = convertView.findViewById (R.id.img);
            name3 = convertView.findViewById (R.id.name3);
        }
//        String icon = list.get (position).getIcon ();
//        if(icon.contains ("|")){
//            String[] split = icon.split ("\\|");
//            Glide.with (context).load (split[0]).into (img);
//        }else{
//            Glide.with (context).load (icon).into (img);
//        }
        Glide.with(context).load(list.get(position).getIcon()).into(img);
        Log.d("Liu",list.get(position).getIcon());
        name3.setText (list.get (position).getName ());
        return convertView;
    }
}

 
Modle类
 
 
package com.example.administrator.fenlei.Modle;

import android.util.Log;

import com.example.administrator.fenlei.API.Api;
import com.example.administrator.fenlei.API.ApiSevice;
import com.example.administrator.fenlei.Bean.ClassBean;
import com.example.administrator.fenlei.Bean.ClassBean2;
import rx.Observable;
import retrofit2.Retrofit;
import retrofit2.adapter.rxjava.RxJavaCallAdapterFactory;
import retrofit2.converter.gson.GsonConverterFactory;
import rx.Observer;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;


/**
 * Created by lenovo on 2018/4/4.
 */

public class ClassModle {
    //第一接口
    public void getclassmodle(final OnGetlistener OnGetlistener){
        Retrofit Retrofit=new Retrofit .Builder ()
                .baseUrl (Api.url)
                .addConverterFactory (GsonConverterFactory.create ())
                .addCallAdapterFactory (RxJavaCallAdapterFactory.create ())
                .build ();
        ApiSevice apiSevice = Retrofit.create (ApiSevice.class);
        Observable<ClassBean> paremr2 = apiSevice.getParemr2 ();
        paremr2.subscribeOn (Schedulers.io ())
               .observeOn (AndroidSchedulers.mainThread ())



                .subscribe (new Observer<ClassBean>() {
                    @Override
                    public void onCompleted() {

                    }

                    @Override
                    public void onError(Throwable e) {

                    }

                    @Override
                    public void onNext(ClassBean classBean) {
                        Log.i ("分类家在哪2222222",classBean.getData ().get (0).getName ());
                        if(OnGetlistener!=null){
                            OnGetlistener.OnSuccess (classBean);
                            Log.i ("分类家在哪",classBean.getData ().get (0).getName ());
                        }
                    }
                });
    }
    public  interface  OnGetlistener{
        void OnSuccess(ClassBean ClassBean);
    }
   //第二接口
    public void getclassmodle2(String cid,String android,final OnGetlistener1 OnGetlistener1){
    Retrofit Retrofit=new Retrofit .Builder ()
            .baseUrl (Api.url)
            .addCallAdapterFactory (RxJavaCallAdapterFactory.create ())
            .addConverterFactory (GsonConverterFactory.create ())
            .build ();
        ApiSevice apiSevice = Retrofit.create (ApiSevice.class);
        Observable<ClassBean2> paremr3 = apiSevice.getParemr3 (cid,android);
        paremr3.subscribeOn (Schedulers.io ())
                .observeOn (AndroidSchedulers.mainThread ())
                .subscribe (new Observer<ClassBean2> () {
                    @Override
                    public void onCompleted() {

                    }

                    @Override
                    public void onError(Throwable e) {
                        Log.d ("jiba", "onError: ");
                    }
                    @Override
                    public void onNext(ClassBean2 classBean2) {
                        Log.i ("刘鑫111",classBean2.getData ().get (0).getName ());
                    if(OnGetlistener1!=null){
                        OnGetlistener1.OnSuccess (classBean2);
                        Log.i ("刘鑫",classBean2.getData ().get (0).getName ());
                    }
                    }
                });
    }
    public interface OnGetlistener1{
        void OnSuccess(ClassBean2 ClassBean2);
    }

}

 
Presenter类

package com.example.administrator.fenlei.Presenter;

import android.util.Log;

import com.example.administrator.fenlei.Bean.ClassBean;
import com.example.administrator.fenlei.Bean.ClassBean2;
import com.example.administrator.fenlei.Modle.ClassModle;
import com.example.administrator.fenlei.View.IclassView2;
import com.example.administrator.fenlei.View.Iclassview;

/**
 * Created by lenovo on 2018/4/4.
 */

public class CLassPresenter {
  public void   getclassPresenter(final Iclassview Iclassview){
      ClassModle ClassModle=new ClassModle ();
      ClassModle.getclassmodle (new ClassModle.OnGetlistener () {
          @Override
          public void OnSuccess(ClassBean ClassBean) {
              if(Iclassview!=null){
                  Iclassview.OnSuccess (ClassBean);
              }
          }
      });
    }
    public void getclassPresenter2(String cid,String android,final IclassView2 IclassView2){

        Log.i ("刘鑫22222",cid);

        ClassModle ClassModle=new ClassModle ();
      ClassModle.getclassmodle2 (cid,android,new ClassModle.OnGetlistener1 () {
          @Override
          public void OnSuccess(ClassBean2 ClassBean2) {
              if(IclassView2!=null){
                  IclassView2.OnSuccess (ClassBean2);
                  Log.i ("刘鑫22222",ClassBean2.getData ().get (0).getName ());
              }
          }
      });
    }
}

View类
 
 
package com.example.administrator.fenlei.View;


import com.example.administrator.fenlei.Bean.ClassBean;

/**
 * Created by lenovo on 2018/4/4.
 */

public interface Iclassview {
    void OnSuccess(ClassBean ClassBean);
}

 
 
 
 
package com.example.administrator.fenlei.View;

import com.example.administrator.fenlei.Bean.ClassBean2;

/**
 * Created by lenovo on 2018/4/4.
 */

public interface IclassView2 {
    void OnSuccess(ClassBean2 ClassBean2);
}

 
 
 
 
 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值