二级列表获取菜谱步骤

来源:互联网 发布:淘宝网韩都衣舍商城 编辑:程序博客网 时间:2024/04/29 21:05
//主Activity
public class MainActivity extends AppCompatActivity {    private ExpandableListView expand_listview;    private EditText edit_name;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        expand_listview = (ExpandableListView) findViewById(R.id.expand_listview);        edit_name = (EditText) findViewById(R.id.edit_name);    }    public void SouSuo(View view){        MyTask myTask = new MyTask();        myTask.execute("http://apis.juhe.cn/cook/query?key=b0eeae4ccd73cce88a8d78e60c64d61c&menu="+ URLEncoder.encode(edit_name.getText().toString())+"&rn=10&pn=3");    }    class MyTask extends AsyncTask<String , Integer , String> {        @Override        protected String doInBackground(String... strings) {            try {                HttpClient client = new DefaultHttpClient();                HttpGet httpGet = new HttpGet(strings[0]);                HttpResponse execute = client.execute(httpGet);                int statusCode = execute.getStatusLine().getStatusCode();                if (statusCode == 200){                    HttpEntity entity = execute.getEntity();                    InputStream inputStream = entity.getContent();                    InputStreamReader inputStreamReader = new InputStreamReader(inputStream);                    BufferedReader bufferedReader = new BufferedReader(inputStreamReader);                    StringBuilder builder = new StringBuilder();                    String s = null;                    while ((s=bufferedReader.readLine()) != null){                        builder.append(s);                    }                    bufferedReader.close();                    Log.i("builder" , "builder--->" + builder.toString());                    return builder.toString();                }            } catch (Exception e) {                e.printStackTrace();            }            return null;        }        @Override        protected void onPostExecute(String s) {            super.onPostExecute(s);            Gson gson = new Gson();            UserBean userBean = gson.fromJson(s, UserBean.class);            List<UserBean.ResultBean.DataBean> list = userBean.getResult().getData();            List<String> glist = new ArrayList<String>();            List<List<ChileBean>> clist = new ArrayList<List<ChileBean>>();            for (int i = 0; i < list.size(); i ++){                List<ChileBean> chilelist = new ArrayList<ChileBean>();                glist.add(list.get(i).getTitle());                Log.i("glist" , "glist---->" + list.get(i).getTitle());                for (int j = 0; j < list.get(i).getSteps().size(); j ++){                    chilelist.add(new ChileBean(list.get(i).getSteps().get(j).getStep()));                    Log.i("chilelist" , "chilelist---->" + list.get(i).getSteps().get(j).getStep());                }                clist.add(chilelist);            }            MyexAdapter adapter = new MyexAdapter(MainActivity.this, glist, clist);            Log.i("成功" , "成功" + 1);            expand_listview.setAdapter(adapter);        }    }}
//adapter
public class MyexAdapter extends BaseExpandableListAdapter {    Context context;    List<String> glist;    List<List<ChileBean>> clist;    public MyexAdapter(Context context, List<String> glist, List<List<ChileBean>> clist) {        this.context = context;        this.glist = glist;        this.clist = clist;    }    @Override    public int getGroupCount() {        return glist.size();    }    @Override    public int getChildrenCount(int i) {        return clist.get(i).size();    }    @Override    public Object getGroup(int i) {        return glist.get(i);    }    @Override    public Object getChild(int i, int i1) {        return clist.get(i).get(i1);    }    @Override    public long getGroupId(int i) {        return i;    }    @Override    public long getChildId(int i, int i1) {        return i1;    }    @Override    public boolean hasStableIds() {        return true;    }    @Override    public View getGroupView(int i, boolean b, View view, ViewGroup viewGroup) {        GHolder holder;        if (view == null){            holder = new GHolder();            view = View.inflate(context , R.layout.exlist_g , null);            holder.text_title = view.findViewById(R.id.text_title);            view.setTag(holder);        }else{            holder = (GHolder) view.getTag();        }        holder.text_title.setText(glist.get(i));        return view;    }    @Override    public View getChildView(int i, int i1, boolean b, View view, ViewGroup viewGroup) {        CHolder holder;        if (view == null){            holder = new CHolder();            view = View.inflate(context , R.layout.exlist_c , null);            holder.text_step = view.findViewById(R.id.text_step);            view.setTag(holder);        }else{            holder = (CHolder) view.getTag();        }        holder.text_step.setText(clist.get(i).get(i1).getStep());        return view;    }    @Override    public boolean isChildSelectable(int i, int i1) {        return true;    }    class GHolder{        TextView text_title;    }    class CHolder{        TextView text_step;    }}
//
ChileBean 
public class ChileBean {    private String step;    public ChileBean() {    }    public ChileBean(String step) {        this.step = step;    }    public String getStep() {        return step;    }    public void setStep(String step) {        this.step = step;    }}

原创粉丝点击