二次リストからレシピステップを取得する

//主Activity
public class MainActivity extends AppCompatActivity { private ExpandableListView expand_listview ;
    プライベート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 ); 
    パブリックボイド

    

        

        

     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 クライアント = new DefaultHttpClient(); 
                HttpGet httpGet = new HttpGet(strings[ 0

            ]); 
                HttpResponse execute = client.execute(httpGet); int statusCode = execute.getStatusLine().getStatusCode();
                if (statusCode == 200 ){ 
                    HttpEntity エンティティ = execute.getEntity(); 
                    InputStream inputStream = entity.getContent(); 
                    InputStreamReader inputStreamReader = new InputStreamReader(inputStream); 
                    BufferedReader bufferedReader = new BufferedReader(inputStreamReader); 
                    StringBuilder ビルダー =新しいStringBuilder(); 
                    文字列 s = null
                ;
                    while ((s=bufferedReader.readLine()) != null ){ 
                        builder.append(s); 
                    } 
                    bufferedReader.close(); 
                    ログ。i ( "builder" , "builder--->" + builder.toString());
                    builder.toString();を返します。
                } 
            } catch (例外 e) { 
                e.printStackTrace(); null を返し
            ます
        @Override protected void

            

                onPostExecute(String s) {
             super .onPostExecute(s); 
            Gson gson =新しい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()); 
                ログ。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())); 
                    ログ。i ( "chilelist" , "chilelist---->" + list.get(i).getSteps().get(j).getStep()); 
                clist.add 
                (チリリスト); new MyexAdapter(MainActivity. this , glist, clist);
            Log.i ( "成功" , "成功" + 1 );
             expand_listview 
.setAdapter (アダプター); 
        } 
    } }
//アダプタ
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/qq_40071033/article/details/77870503