コード例 #1
0
  // 对address.json进行解析
  private List<Dialog_forlist> jSON2List2(String jsonPath) throws JSONException {
    List<Dialog_forlist> list = new ArrayList<>();
    InputStream is = AssetManagerUtils.getData(jsonPath, ReleaseActivity.this);
    String str = StreamTools.readStream(is);

    JSONObject object = new JSONObject(str);
    JSONArray jsonArray = object.getJSONArray("city");
    JSONObject jsonObject = jsonArray.getJSONObject(0);
    JSONArray jsonArray1 = jsonObject.getJSONArray("tdistrict");
    for (int i = 0; i < jsonArray1.length(); i++) {
      Dialog_forlist dialog_forlist = new Dialog_forlist();
      List<String> list_city = new ArrayList<>();
      if (i == 0) {
        JSONObject jsonObject1 = jsonArray1.getJSONObject(i);
        dialog_forlist.setName(jsonObject1.getString("name"));
        list_city.add("不限");
        dialog_forlist.setList(list_city);
      } else {
        JSONObject jsonObject1 = jsonArray1.getJSONObject(i);
        dialog_forlist.setName(jsonObject1.getString("name"));
        JSONArray jsonArray2 = jsonObject1.getJSONArray("bussinessareaList");
        for (int j = 0; j < jsonArray2.length(); j++) {
          JSONObject jsonObject2 = jsonArray2.getJSONObject(j);
          list_city.add(jsonObject2.getString("name"));
        }
        dialog_forlist.setList(list_city);
      }
      list.add(dialog_forlist);
    }

    return list;
  }
コード例 #2
0
  // 对.json进行解析
  private List<Dialog_forlist> jSON2List(
      String jsonPath, String outName, String outName2, String inName, String id)
      throws JSONException {
    List<Dialog_forlist> list = new ArrayList<>();
    InputStream is = AssetManagerUtils.getData(jsonPath, ReleaseActivity.this);
    String str = StreamTools.readStream(is);

    JSONArray jsonArray = new JSONArray(str);
    for (int i = 0; i < jsonArray.length(); i++) {
      Dialog_forlist dialog_forlist = new Dialog_forlist();
      JSONObject jsonObject = jsonArray.getJSONObject(i);
      dialog_forlist.setName(jsonObject.getString(outName));
      JSONArray jsonArray2 = jsonObject.getJSONArray(outName2);
      List<String> list_city = new ArrayList<>();
      List<Integer> list_id = new ArrayList<>();
      for (int j = 0; j < jsonArray2.length(); j++) {
        JSONObject jsonObject2 = jsonArray2.getJSONObject(j);
        list_city.add(jsonObject2.getString(inName));
        list_id.add(jsonObject2.getInt(id));
      }
      dialog_forlist.setList(list_city);
      dialog_forlist.setList_id(list_id);
      list.add(dialog_forlist);
    }

    return list;
  }
コード例 #3
0
  // 两列选择框
  private void dialogRoommate2(
      final String title,
      final String key1,
      final String key2,
      final TextView textView,
      List<Dialog_forlist> list) {
    final List<String> list_name = new ArrayList<>();
    final Map<String, List<String>> map_city = new HashMap<>();
    final Map<String, List<Integer>> map_id = new HashMap<>();
    for (Dialog_forlist ll : list) {
      list_name.add(ll.getName());
      map_city.put(ll.getName(), ll.getList());
      map_id.put(ll.getName(), ll.getList_id());
    }
    AlertDialog.Builder builder = new AlertDialog.Builder(ReleaseActivity.this);
    View view = View.inflate(ReleaseActivity.this, R.layout.dialog_addroommate2, null);
    TextView textView_title = (TextView) view.findViewById(R.id.dialog_title);
    textView_title.setText(title);
    final ListView listView = (ListView) view.findViewById(R.id.dialog_listview);
    final ListView listView2 = (ListView) view.findViewById(R.id.dialog_listview2);
    builder.setView(view);

    final Dialog dialog = builder.show();

    listView.setAdapter(
        new ArrayAdapter(ReleaseActivity.this, R.layout.dialog_listview_layout, list_name));
    list_city = map_city.get(list_name.get(0));

    listView2.setAdapter(
        new ArrayAdapter(ReleaseActivity.this, R.layout.dialog_listview_layout, list_city));
    listView.setOnItemClickListener(
        new AdapterView.OnItemClickListener() {
          @Override
          public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            map_release.put(key1, list_name.get(position));
            // 根据第一个ListView中item的值来确定ListView2的数据
            list_city = map_city.get(list_name.get(position)); // 城市名字的list
            list_id = map_id.get(list_name.get(position));
            listView2.setAdapter(
                new ArrayAdapter(ReleaseActivity.this, R.layout.dialog_listview_layout, list_city));
            listView2.setOnItemClickListener(
                new AdapterView.OnItemClickListener() {
                  @Override
                  public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                    if ("区域".equals(title)) {
                      String string = map_release.get(key1) + "-" + list_city.get(position);
                      textView.setText(string);
                      map_release.put(key2, list_city.get(position).toString());
                    } else if ("籍贯".equals(title)) {
                      String string = map_release.get(key1) + "-" + list_city.get(position);
                      textView.setText(string);
                      map_release.put(key2, list_id.get(position).toString());
                    } else {
                      String string = list_city.get(position);
                      textView.setText(string);
                      map_release.put(key2, list_id.get(position).toString());
                    }
                    dialog.dismiss();
                  }
                });
          }
        });
  }