# MyAndroidNote **Repository Path**: Anson_Code/MyAndroidNote ## Basic Information - **Project Name**: MyAndroidNote - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2016-01-11 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #MyAndroidNote ``` public class A{ A(){} } ``` ```java public class A{ A(){System.out.println("点击了地区");} } ``` ``` public class A{ A(){System.out.println("点击了地区");} } ``` /** * 地区数据监听 */ private OnTreeNodeClickListener onTreeNodeClickListener = new OnTreeNodeClickListener() { @Override public void onClick(Node node, int position) { System.out.println("点击了地区"); if ("-1".equals(node.getCode()) && "0".equals(node.getData_pid())) { // 第一级 // 不限 node.setSelect(true); for (AreaBean areaBean : areaBeans) { areaBean.setSelect(false); } } else if ("1".equals(node.getCode()) && "0".equals(node.getData_pid())) { // 选择中国 node.setSelect(true); for (AreaBean areaBean : areaBeans) { if ("-1".equals(areaBean.getCode()) && "0".equals(areaBean.getData_pid())) { areaBean.setSelect(false); } else if ("-1".equals(areaBean.getCode()) && node.getData_pid() .equals(areaBean.getData_pid())) { areaBean.setSelect(true); } } } else if ("1".equals(node.getData_pid())) { // 选择中国 下面的不限 node.setSelect(true); if ("-1".equals(node.getCode())) {// 中国下面的省份 不限选择 for (AreaBean areaBean : areaBeans) { if (!StringUtil.isStrEmpty(areaBean.getData_pid()) && !"0".equals(areaBean.getData_pid())) {// 排除 // 地区 // 不限 // 中国 areaBean.setSelect(false); } } } else {// 中国下面的省份 node.setSelect(true); for (AreaBean areaBean : areaBeans) { if ("-1".equals(areaBean.getCode()) && "1".equals(areaBean.getData_pid())) {// 如何选择了省份 // 则不限的黄点去掉 areaBean.setSelect(false); } else if ("-1".equals(areaBean.getCode()) && !StringUtil.isStrEmpty(areaBean .getData_pid())) { if (areaBean.get_id() == 1) { // 去除第一个不限 areaBean.setSelect(false); } else { areaBean.setSelect(true); } } else if (node.getCode() == areaBean.getCode()) { areaBean.setSelect(true); } } } } else { if (!StringUtil.isStrEmpty(node.getData_pid()) && !"0".equals(node.getData_pid()) && !"1".equals(node.getData_pid())) { if ("-1".equals(node.getCode())) {// 最后一级 不限 node.setSelect(true); for (AreaBean areaBean : areaBeans) { if (node.getData_pid().equals( areaBean.getData_pid())) { if ("-1".equals(areaBean.getCode())) { areaBean.setSelect(true); } else { areaBean.setSelect(false); } } } } else { boolean isSelect = false; if (node.isSelect()) { node.setSelect(false); } else { isSelect = true; node.setSelect(true); } if (isSelect) { for (AreaBean areaBean : areaBeans) { if (node.getData_pid().equals( areaBean.getData_pid())) { if ("-1".equals(areaBean.getCode())) { areaBean.setSelect(false); } else if (node.getCode().equals( areaBean.getCode())) { areaBean.setSelect(true); } } } } else { boolean isSe = false; for (AreaBean areaBean : areaBeans) { if (node.getCode().equals(areaBean.getCode())) { areaBean.setSelect(false); break; } } for (AreaBean areaBean : areaBeans) { if (node.getData_pid().equals( areaBean.getData_pid())) { if (areaBean.isSelect()) { isSe = true; break; } } } if (!isSe) { for (AreaBean areaBean : areaBeans) { if (node.getData_pid().equals( areaBean.getData_pid())) { if ("-1".equals(areaBean.getCode())) { areaBean.setSelect(true); break; } } } } } } } } // 把当前的是否选择的值 更新到集合中 for (int i = 0; i < areaBeans.size(); i++) { AreaBean areaBean = areaBeans.get(i); if (StringUtil.isStrEmpty(node.getData_pid()) || "0".equals(node.getData_pid()) || "1".equals(node.getData_pid())) { if (node.getId() == areaBean.get_id() && node.getId() != -1) { areaBean.setSelect(true); } } } area_position = position; if (node.isNext()) { presentId = node.getId(); boolean isValue = false; for (AreaBean areaBean : areaBeans) { if (presentId == areaBean.getParentId() && !"-1".equals(areaBean.getCode())) { isValue = true; break; } } if (!isValue && !"-1".equals(node.getCode())) { area_rank = area_rank + 1; if (node.getpId() == 2) { provinceNum = areaId; } initAreaData(node.getCode()); } else { // 处理点击省份的时候 没有判断省份下面是否已经选择了城市 如果选择了就不选择不限 反之选择不限 boolean isV = false; for (AreaBean areaBean1 : areaBeans) { if (presentId == areaBean1.getParentId() && !"-1".equals(areaBean1.getCode()) && areaBean1.isSelect()) { isV = true; break; } } if (isV) { for (AreaBean areaBean2 : areaBeans) { if (presentId == areaBean2.getParentId() && "-1".equals(areaBean2.getCode())) { areaBean2.setSelect(false); } } } // 结束 try { mAdapter = new AreaTreeAdapter(lv_screen, getActivity(), areaBeans, 10); lv_screen.setAdapter(mAdapter); lv_screen.setSelection(area_position - 4); mAdapter.setOnTreeNodeClickListener(onTreeNodeClickListener); } catch (Exception e) { e.printStackTrace(); } } } else { try { mAdapter = new AreaTreeAdapter(lv_screen, getActivity(), areaBeans, 10); lv_screen.setAdapter(mAdapter); lv_screen.setSelection(area_position - 4); mAdapter.setOnTreeNodeClickListener(onTreeNodeClickListener); } catch (Exception e) { e.printStackTrace(); } } } };