分享

二级列表demo(ExpandableListView)

 quasiceo 2014-10-21
发表于 2014-5-7 12:05:03 | 只看该作者 |只看大图 回帖奖励
代码分享
代码名称: 二级列表demo
代码描述: 1、通过获取远程json数据
2、解析json数据生成一维父级数组
再生成二维子级数组
3、一个类
代码托管地址: -
代码作者: 高级打字员
代码效果图: -

 

 

x
本帖最后由 huangxulei 于 2014-5-7 12:10 编辑


数据库结构

php处理生成json代码

网络json数据
  1. {"parent": [{"id":"1","name":"按品牌选择","pid":"0"},{"id":"3","name":"按产品选 择","pid":"0"},{"id":"4","name":"按发质选择","pid":"0"},{"id":"5","name":"按头皮选 择","pid":"0"}],"sub":{"1":[{"id":"16","name":"Wella威娜","pid":"1"}, {"id":"17","name":"L'OREAL欧莱雅","pid":"1"},{"id":"18","name":"KERASTASE卡 诗","pid":"1"},{"id":"19","name":"Schwarzkopf施华蔻","pid":"1"}, {"id":"20","name":"MATRIX美奇丝","pid":"1"}],"3":[{"id":"21","name":"洗发水/洗发 露/洗发乳","pid":"3"},{"id":"22","name":"护发素/护发露","pid":"3"}, {"id":"23","name":"发膜/倒膜","pid":"3"},{"id":"24","name":"造型品","pid":"3"}, {"id":"25","name":"染发","pid":"3"},{"id":"26","name":"沐浴露","pid":"3"}, {"id":"27","name":"烫发","pid":"3"}],"4":[{"id":"28","name":"干枯/受损发 质","pid":"4"},{"id":"29","name":"毛躁发质","pid":"4"},{"id":"30","name":"脆弱易 断发质","pid":"4"},{"id":"31","name":"发色黯淡发质","pid":"4"}, {"id":"32","name":"染后发质","pid":"4"},{"id":"33","name":"烫后发质","pid":"4"}, {"id":"34","name":"细软扁塌油性发质","pid":"4"}],"5":[{"id":"35","name":"针对头皮 屑","pid":"5"},{"id":"36","name":"针对油性头皮","pid":"5"},{"id":"37","name":"针 对脱发","pid":"5"},{"id":"38","name":"针对敏感头皮","pid":"5"}]}}
复制代码
解析成一维父级 以及二维子级 注意childs groups数组以及先定义好 只是把上面json数据读取存入两个数组中而已 url就是json数据
  1. //类别数组 第一级和第二级
  2.         private  void getData() {

  3.                 String url = "http://www./anko/index.php?a=cate&m=Index&g=API";
  4.                 try {
  5.                         String jsonstring = GetNetData.getResultForHttpGet(url);
  6.                         JSONObject result = new JSONObject(jsonstring);
  7.                         JSONArray groupslist = result.getJSONArray("parent");
  8.                         JSONObject sub = result.getJSONObject("sub");
  9.                         int length = groupslist.length();
  10.                         groups = new String[length];
  11.                         //定义第一维长度
  12.                         childs = new String[length][];
  13.                         for (int i = 0; i < length; i++) {
  14.                                 JSONObject oj = groupslist.getJSONObject(i);
  15.                                 groups[i] = oj.getString("name");
  16.                                 JSONArray jsid = sub.getJSONArray(oj.getString("id"));
  17.                                 int idlen = jsid.length();
  18.                                 //定义第二维长度
  19.                                 childs[i]=new String[idlen];
  20.                                 for (int j = 0; j < idlen; j++) {
  21.                                         JSONObject idoj = jsid.getJSONObject(j);
  22.                                         childs[i][j] = idoj.getString("name").toString();
  23.                                         Log.v("name", childs[i][j]);
  24.                                 }
  25.                         }

  26.                 } catch (ClientProtocolException e) {
  27.                         // TODO Auto-generated catch block
  28.                         e.printStackTrace();
  29.                 } catch (IOException e) {
  30.                         // TODO Auto-generated catch block
  31.                         e.printStackTrace();
  32.                 } catch (JSONException e) {
  33.                         // TODO Auto-generated catch block
  34.                         e.printStackTrace();
  35.                 }

  36.         }
复制代码




Elist.rar


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多