依赖
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); }