类和对象·默认成员函数

//主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;
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_57544072/article/details/126511609