package com.example.nm.myapplication.Fragment; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v7.widget.GridLayoutManager; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ExpandableListView; import android.widget.ListView; import android.widget.Toast; import com.example.nm.myapplication.R; import com.example.nm.myapplication.adapter.Adapter; import com.example.nm.myapplication.adapter.EjAdapter; import com.example.nm.myapplication.adapter.FllbAdapter; import com.example.nm.myapplication.bean.Bean; import com.example.nm.myapplication.bean.FenLeiLieBiao; import com.example.nm.myapplication.bean.FlSP; import com.google.gson.Gson; import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.List; import okhttp3.Call; import okhttp3.Callback; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; /** * Created by 爱新觉罗璎汉 on 2017/11/28. */ public class Fl extends Fragment { ListView listView; ExpandableListView ex; ArrayList<List<FlSP.DataBean.ListBean>> lists=new ArrayList<>(); String url="http://120.27.23.105/product/getCatagory"; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view=inflater.inflate(R.layout.fl,container,false); listView=(ListView) view.findViewById(R.id.list); ex=(ExpandableListView) view.findViewById(R.id.ex); fllb(); ej(); return view; } public void fllb(){ OkHttpClient client = new OkHttpClient(); Request build = new Request.Builder().url(url).build(); client.newCall(build).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { final String string = response.body().string(); getActivity().runOnUiThread(new Runnable() { @Override public void run() { Gson gson = new Gson(); FenLeiLieBiao bean = gson.fromJson(string, FenLeiLieBiao.class); List<FenLeiLieBiao.DataBean> data = bean.getData(); listView.setAdapter(new FllbAdapter(getActivity(),data)); } }); } }); } public void ej(){ OkHttpClient client = new OkHttpClient(); Request build = new Request.Builder().url("http://120.27.23.105/product/getProductCatagory?cid=1").build(); client.newCall(build).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { final String string = response.body().string(); getActivity().runOnUiThread(new Runnable() { @Override public void run() { Gson gson = new Gson(); FlSP flSP = gson.fromJson(string, FlSP.class); List<FlSP.DataBean> data = flSP.getData(); for (int i=0;i<data.size();i++){ FlSP.DataBean bean = data.get(i); List<FlSP.DataBean.ListBean> list = bean.getList(); lists.add(list); ex.setAdapter(new EjAdapter(getActivity(),data,lists)); } int count = ex.getCount(); for(int i=0;i<count;i++){ ex.expandGroup(i); } } }); } }); }}
适配器
package com.example.nm.myapplication.adapter; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseExpandableListAdapter; import android.widget.GridView; import android.widget.ImageView; import android.widget.TextView; import com.bumptech.glide.Glide; import com.example.nm.myapplication.R; import com.example.nm.myapplication.bean.FlSP; import java.util.ArrayList; import java.util.List; /** * Created by 爱新觉罗璎汉 on 2017/12/15. */ public class EjAdapter extends BaseExpandableListAdapter { Context context; List<FlSP.DataBean> data; ArrayList<List<FlSP.DataBean.ListBean>> lists; public EjAdapter(Context context, List<FlSP.DataBean> data,ArrayList<List<FlSP.DataBean.ListBean>> lists) { this.context = context; this.data = data; this.lists=lists; } @Override public int getGroupCount() { return data.size(); } @Override public int getChildrenCount(int groupPosition) { return 1; } @Override public Object getGroup(int groupPosition) { return data.get(groupPosition); } @Override public Object getChild(int groupPosition, int childPosition) { return lists.get(groupPosition).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 false; } @Override public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { ViewHolder holder; if(convertView==null){ convertView=View.inflate(context,R.layout.yj,null); holder=new ViewHolder(); holder.textView=(TextView) convertView.findViewById(R.id.yjtext); convertView.setTag(holder); }else{ holder=(ViewHolder)convertView.getTag(); } holder.textView.setText(data.get(groupPosition).getName()); return convertView; }class ViewHolder{ TextView textView; } @Override public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { ViewHolder1 holder1; if(convertView==null){ convertView=View.inflate(context,R.layout.ej,null); holder1=new ViewHolder1(); holder1.gridView=(GridView) convertView.findViewById(R.id.grid); convertView.setTag(holder1); }else{ holder1=(ViewHolder1)convertView.getTag(); } holder1.gridView.setAdapter(new EjGridAdapter(context,lists)); return convertView; }class ViewHolder1{ GridView gridView; } @Override public boolean isChildSelectable(int groupPosition, int childPosition) { return true; } }二级列表里面的GridViewpackage com.example.nm.myapplication.adapter; import android.content.Context; 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.nm.myapplication.R; import com.example.nm.myapplication.bean.FlSP; import java.util.ArrayList; import java.util.List; /** * Created by 爱新觉罗璎汉 on 2017/12/15. */ public class EjGridAdapter extends BaseAdapter { Context context; ArrayList<List<FlSP.DataBean.ListBean>> lists; public EjGridAdapter(Context context, ArrayList<List<FlSP.DataBean.ListBean>> lists) { this.context = context; this.lists = lists; } @Override public int getCount() { return lists.size(); } @Override public Object getItem(int position) { return lists.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if(convertView==null){ convertView=View.inflate(context, R.layout.ejgrid,null); holder=new ViewHolder(); holder.imageView=(ImageView)convertView.findViewById(R.id.image); holder.textView=(TextView)convertView.findViewById(R.id.ejtext); convertView.setTag(holder); }else{ holder=(ViewHolder)convertView.getTag(); } holder.textView.setText(lists.get(position).get(position).getName()); String icon = lists.get(position).get(position).getIcon(); Glide.with(context).load(icon).into(holder.imageView); return convertView; }class ViewHolder{ TextView textView; ImageView imageView; } }
分类二级列表
最新推荐文章于 2018-04-09 20:45:01 发布