二级列表获取菜谱步骤
来源:互联网 发布:淘宝网韩都衣舍商城 编辑:程序博客网 时间: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; }}
阅读全文
0 0