【问题标题】:How to create ExpandableListview with json data in Android如何在 Android 中使用 json 数据创建 ExpandableListview
【发布时间】:2016-07-20 11:27:54
【问题描述】:

任何人都可以建议如何使用 Json 数据创建可扩展列表视图,我想在可扩展列表视图中解析 json 数据,请建议我如何创建

【问题讨论】:

  • 检查我的答案并告诉我
  • @0xDEADC0DE 我只是想知道如何开发它我已经使用静态数据进行开发,但是当我尝试解析服务响应 json 数据时出现问题。
  • 是的,完全是@Aditya Vyas - Lakhan 我想要这样......你在链接中提到......
  • 谢谢你...@Aditya Vyas - Lakhan

标签: android json listview expandablelistview


【解决方案1】:

这正是你要找的,你可以解析并显示数据到 ExpandableListview

看到这个:http://www.tutorialsbuzz.com/2015/02/android-expandable-listview-json-http.html

public class MainActivity extends Activity {
    String url = "http://api.tutorialsbuzz.com/cricketworldcup2015/cricket.json";
    ProgressDialog PD;

    private ExpandListAdapter ExpAdapter;
    private ExpandableListView ExpandList;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ExpandList = (ExpandableListView) findViewById(R.id.exp_list);

        PD = new ProgressDialog(this);
        PD.setMessage("Loading.....");
        PD.setCancelable(false);

        makejsonobjreq();
    }

    private void makejsonobjreq() {
        PD.show();

        JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.GET, url,
                null, new Response.Listener<JSONObject>() {
                    @Override
                    public void onResponse(JSONObject response) {
                        ArrayList<Group> list = new ArrayList<Group>();
                        ArrayList<Child> ch_list;

                        try {
                            Iterator<String> key = response.keys();
                            while (key.hasNext()) {
                                String k = key.next();

                                Group gru = new Group();
                                gru.setName(k);
                                ch_list = new ArrayList<Child>();

                                JSONArray ja = response.getJSONArray(k);

                                for (int i = 0; i < ja.length(); i++) {

                                    JSONObject jo = ja.getJSONObject(i);

                                    Child ch = new Child();
                                    ch.setName(jo.getString("name"));
                                    ch.setImage(jo.getString("flag"));

                                    ch_list.add(ch);
                                } // for loop end
                                gru.setItems(ch_list);
                                list.add(gru);
                            } // while loop end

                            ExpAdapter = new ExpandListAdapter(
                                    MainActivity.this, list);
                            ExpandList.setAdapter(ExpAdapter);

                            PD.dismiss();

                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                }, new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        PD.dismiss();
                    }
                });
        MyApplication.getInstance().addToReqQueue(jsonObjReq, "jreq");
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多