Android(省市区三级联动Dialog)Demo

在某些类型的app当中用户需要选择自己所在地区时,便是需要用到这一功能,所以就总结一下如何实现。

Demo下载链接
http://download.csdn.net/detail/as_jon/9562069

第一步: 全国省市区地名的json文件并将文件放在assets文件目录下(如下图)
Android(省市区三级联动Dialog)Demo_第1张图片

{
    "area0": {
    "340000": "安徽省",
    "110000": "北京市",
    "500000": "重庆市",
    "350000": "福建省",
    "620000": "甘肃省",
    "440000": "广东省",
    "450000": "广西壮族自治区",
    "520000": "贵州省",
    "130000": "河北省",
    "410000": "河南省",
    "230000": "黑龙江省",
    "420000": "湖北省",
    "430000": "湖南省",
    "460000": "海南省",
    "220000": "吉林省",
    "360000": "江西省",
    "320000": "江苏省",
    "210000": "辽宁省",
    "640000": "宁夏回族自治区",
    "150000": "内蒙古自治区",
    "630000": "青海省",
    "310000": "上海市",
    "610000": "陕西省",
    "370000": "山东省",
    "140000": "山西省",
    "510000": "四川省",
    "120000": "天津市",
    "650000": "新疆维吾尔自治区",
    "540000": "西藏自治区",
    "530000": "云南省",
    "330000": "浙江省"
},
    "area1": {
        "210000": [["沈阳市", "210100"], ["大连市", "210200"], ["鞍山市", "210300"], ["抚顺市", "210400"], ["本溪市", "210500"], ["丹东市", "210600"], ["锦州市", "210700"], ["营口市", "210800"], ["阜新市", "210900"], ["辽阳市", "211000"], ["盘锦市", "211100"], ["铁岭市", "211200"], ["朝阳市", "211300"], ["葫芦岛市", "211400"]],
        "220000": [["长春市", "220100"], ["吉林市", "220200"], ["四平市", "220300"], ["辽源市", "220400"], ["通化市", "220500"], ["白山市", "220600"], ["松原市", "220700"], ["白城市", "220800"], ["延边朝鲜族自治州", "222400"]],
        "230000": [["哈尔滨市", "230100"], ["齐齐哈尔市", "230200"], ["鸡西市", "230300"], ["鹤岗市", "230400"], ["双鸭山市", "230500"], ["大庆市", "230600"], ["伊春市", "230700"], ["佳木斯市", "230800"], ["七台河市", "230900"], ["牡丹江市", "231000"], ["黑河市", "231100"], ["绥化市", "231200"], ["大兴安岭地区", "232700"]],
        "340000": [["合肥市", "340100"], ["芜湖市", "340200"], ["蚌埠市", "340300"], ["淮南市", "340400"], ["马鞍山市", "340500"], ["淮北市", "340600"], ["铜陵市", "340700"], ["安庆市", "340800"], ["黄山市", "341000"], ["滁州市", "341100"], ["阜阳市", "341200"], ["宿州市", "341300"], ["巢湖市", "341400"], ["六安市", "341500"], ["亳州市", "341600"], ["池州市", "341700"], ["宣城市", "341800"]],
        "350000": [["福州市", "350100"], ["厦门市", "350200"], ["莆田市", "350300"], ["三明市", "350400"], ["泉州市", "350500"], ["漳州市", "350600"], ["南平市", "350700"], ["龙岩市", "350800"], ["宁德市", "350900"]],
        "360000": [["南昌市", "360100"], ["景德镇市", "360200"], ["萍乡市", "360300"], ["九江市", "360400"], ["新余市", "360500"], ["鹰潭市", "360600"], ["赣州市", "360700"], ["吉安市", "360800"], ["宜春市", "360900"], ["抚州市", "361000"], ["上饶市", "361100"]],
        "370000": [["济南市", "370100"], ["青岛市", "370200"], ["淄博市", "370300"], ["枣庄市", "370400"], ["东营市", "370500"], ["烟台市", "370600"], ["潍坊市", "370700"], ["济宁市", "370800"], ["泰安市", "370900"], ["威海市", "371000"], ["日照市", "371100"], ["莱芜市", "371200"], ["临沂市", "371300"], ["德州市", "371400"], ["聊城市", "371500"], ["滨州市", "371600"], ["荷泽市", "371700"]],
        "410000": [["郑州市", "410100"], ["开封市", "410200"], ["洛阳市", "410300"], ["平顶山市", "410400"], ["安阳市", "410500"], ["鹤壁市", "410600"], ["新乡市", "410700"], ["焦作市", "410800"], ["濮阳市", "410900"], ["许昌市", "411000"], ["漯河市", "411100"], ["三门峡市", "411200"], ["南阳市", "411300"], ["商丘市", "411400"], ["信阳市", "411500"], ["周口市", "411600"], ["驻马店市", "411700"]],
        "420000": [["武汉市", "420100"], ["黄石市", "420200"], ["十堰市", "420300"], ["宜昌市", "420500"], ["襄樊市", "420600"], ["鄂州市", "420700"], ["荆门市", "420800"], ["孝感市", "420900"], ["荆州市", "421000"], ["黄冈市", "421100"], ["咸宁市", "421200"], ["随州市", "421300"], ["恩施土家族苗族自治州", "422800"], ["省直辖行政单位", "429000"]],
        "310000": [["市辖区", "310100"], ["县", "310200"]],
        "320000": [["南京市", "320100"], ["无锡市", "320200"], ["徐州市", "320300"], ["常州市", "320400"], ["苏州市", "320500"], ["南通市", "320600"], ["连云港市", "320700"], ["淮安市", "320800"], ["盐城市", "320900"], ["扬州市", "321000"], ["镇江市", "321100"], ["泰州市", "321200"], ["宿迁市", "321300"]],
        "330000": [["杭州市", "330100"], ["宁波市", "330200"], ["温州市", "330300"], ["嘉兴市", "330400"], ["湖州市", "330500"], ["绍兴市", "330600"], ["金华市", "330700"], ["衢州市", "330800"], ["舟山市", "330900"], ["台州市", "331000"], ["丽水市", "331100"]],
        "110000": [["市辖区", "110100"], ["县", "110200"]],
        "120000": [["市辖区", "120100"], ["县", "120200"]],
        "130000": [["石家庄市", "130100"], ["唐山市", "130200"], ["秦皇岛市", "130300"], ["邯郸市", "130400"], ["邢台市", "130500"], ["保定市", "130600"], ["张家口市", "130700"], ["承德市", "130800"], ["沧州市", "130900"], ["廊坊市", "131000"], ["衡水市", "131100"]],
        "140000": [["太原市", "140100"], ["大同市", "140200"], ["阳泉市", "140300"], ["长治市", "140400"], ["晋城市", "140500"], ["朔州市", "140600"], ["晋中市", "140700"], ["运城市", "140800"], ["忻州市", "140900"], ["临汾市", "141000"], ["吕梁地区", "142300"]],
        "150000": [["呼和浩特市", "150100"], ["包头市", "150200"], ["乌海市", "150300"], ["赤峰市", "150400"], ["通辽市", "150500"], ["鄂尔多斯市", "150600"], ["呼伦贝尔市", "150700"], ["兴安盟", "152200"], ["锡林郭勒盟", "152500"], ["乌兰察布盟", "152600"], ["巴彦淖尔盟", "152800"], ["阿拉善盟", "152900"]],
        "520000": [["贵阳市", "520100"], ["六盘水市", "520200"], ["遵义市", "520300"], ["安顺市", "520400"], ["铜仁地区", "522200"], ["黔西南布依族苗族自治州", "522300"], ["毕节地区", "522400"], ["黔东南苗族侗族自治州", "522600"], ["黔南布依族苗族自治州", "522700"]],
        "530000": [["昆明市", "530100"], ["曲靖市", "530300"], ["玉溪市", "530400"], ["保山市", "530500"], ["昭通市", "530600"], ["丽江市", "530700"], ["楚雄彝族自治州", "532300"], ["红河哈尼族彝族自治州", "532500"], ["文山壮族苗族自治州", "532600"], ["思茅地区", "532700"], ["西双版纳傣族自治州", "532800"], ["大理白族自治州", "532900"], ["德宏傣族景颇族自治州", "533100"], ["怒江傈僳族自治州", "533300"], ["迪庆藏族自治州", "533400"], ["临沧地区", "533500"]],
        "540000": [["拉萨市", "540100"], ["昌都地区", "542100"], ["山南地区", "542200"], ["日喀则地区", "542300"], ["那曲地区", "542400"], ["阿里地区", "542500"], ["林芝地区", "542600"]],
        "610000": [["西安市", "610100"], ["铜川市", "610200"], ["宝鸡市", "610300"], ["咸阳市", "610400"], ["渭南市", "610500"], ["延安市", "610600"], ["汉中市", "610700"], ["榆林市", "610800"], ["安康市", "610900"], ["商洛市", "611000"]],
        "620000": [["兰州市", "620100"], ["嘉峪关市", "620200"], ["金昌市", "620300"], ["白银市", "620400"], ["天水市", "620500"], ["武威市", "620600"], ["张掖市", "620700"], ["平凉市", "620800"], ["酒泉市", "620900"], ["庆阳市", "621000"], ["定西市", "621100"], ["陇南地区", "622600"], ["临夏回族自治州", "622900"], ["甘南藏族自治州", "623000"]],
        "630000": [["西宁市", "630100"], ["海东地区", "632100"], ["海北藏族自治州", "632200"], ["黄南藏族自治州", "632300"], ["海南藏族自治州", "632500"], ["果洛藏族自治州", "632600"], ["玉树藏族自治州", "632700"], ["海西蒙古族藏族自治州", "632800"]],
        "640000": [["银川市", "640100"], ["石嘴山市", "640200"], ["吴忠市", "640300"], ["固原市", "640400"]],
        "650000": [["乌鲁木齐市", "650100"], ["克拉玛依市", "650200"], ["吐鲁番地区", "652100"], ["哈密地区", "652200"], ["昌吉回族自治州", "652300"], ["博尔塔拉蒙古自治州", "652700"], ["巴音郭楞蒙古自治州", "652800"], ["阿克苏地区", "652900"], ["克孜勒苏柯尔克孜自治州", "653000"], ["喀什地区", "653100"], ["和田地区", "653200"], ["伊犁哈萨克自治州", "654000"], ["塔城地区", "654200"], ["阿勒泰地区", "654300"], ["省直辖行政单位", "659000"]],
        "430000": [["长沙市", "430100"], ["株洲市", "430200"], ["湘潭市", "430300"], ["衡阳市", "430400"], ["邵阳市", "430500"], ["岳阳市", "430600"], ["常德市", "430700"], ["张家界市", "430800"], ["益阳市", "430900"], ["郴州市", "431000"], ["永州市", "431100"], ["怀化市", "431200"], ["娄底市", "431300"], ["湘西土家族苗族自治州", "433100"]],
        "440000": [["广州市", "440100"], ["韶关市", "440200"], ["深圳市", "440300"], ["珠海市", "440400"], ["汕头市", "440500"], ["佛山市", "440600"], ["江门市", "440700"], ["湛江市", "440800"], ["茂名市", "440900"], ["肇庆市", "441200"], ["惠州市", "441300"], ["梅州市", "441400"], ["汕尾市", "441500"], ["河源市", "441600"], ["阳江市", "441700"], ["清远市", "441800"], ["东莞市", "441900"], ["中山市", "442000"], ["潮州市", "445100"], ["揭阳市", "445200"], ["云浮市", "445300"]],
        "450000": [["南宁市", "450100"], ["柳州市", "450200"], ["桂林市", "450300"], ["梧州市", "450400"], ["北海市", "450500"], ["防城港市", "450600"], ["钦州市", "450700"], ["贵港市", "450800"], ["玉林市", "450900"], ["百色市", "451000"], ["贺州市", "451100"], ["河池市", "451200"], ["来宾市", "451300"], ["崇左市", "451400"]],
        "460000": [["海口市", "460100"], ["三亚市", "460200"], ["省直辖县级行政单位", "469000"]],
        "500000": [["市辖区", "500100"], ["县", "500200"], ["市", "500300"]],
        "510000": [["成都市", "510100"], ["自贡市", "510300"], ["攀枝花市", "510400"], ["泸州市", "510500"], ["德阳市", "510600"], ["绵阳市", "510700"], ["广元市", "510800"], ["遂宁市", "510900"], ["内江市", "511000"], ["乐山市", "511100"], ["南充市", "511300"], ["眉山市", "511400"], ["宜宾市", "511500"], ["广安市", "511600"], ["达州市", "511700"], ["雅安市", "511800"], ["巴中市", "511900"], ["资阳市", "512000"], ["阿坝藏族羌族自治州", "513200"], ["甘孜藏族自治州", "513300"], ["凉山彝族自治州", "513400"]]
    },
    "area2": {
        "210100": [["沈阳市", "210100"], ["市辖区", "210101"], ["和平区", "210102"], ["沈河区", "210103"], ["大东区", "210104"], ["皇姑区", "210105"], ["铁西区", "210106"], ["苏家屯区", "210111"], ["东陵区", "210112"], ["新城子区", "210113"], ["于洪区", "210114"], ["辽中县", "210122"], ["康平县", "210123"], ["法库县", "210124"], ["新民市", "210181"]],
        "210200": [["大连市", "210200"], ["市辖区", "210201"], ["中山区", "210202"], ["西岗区", "210203"], ["沙河口区", "210204"], ["甘井子区", "210211"], ["旅顺口区", "210212"], ["金州区", "210213"], ["长海县", "210224"], ["瓦房店市", "210281"], ["普兰店市", "210282"], ["庄河市", "210283"]],
        "210300": [["鞍山市", "210300"], ["市辖区", "210301"], ["铁东区", "210302"], ["铁西区", "210303"], ["立山区", "210304"], ["千山区", "210311"], ["台安县", "210321"], ["岫岩满族自治县", "210323"], ["海城市", "210381"]],
        "210400": [["抚顺市", "210400"], ["市辖区", "210401"], ["新抚区", "210402"], ["东洲区", "210403"], ["望花区", "210404"], ["顺城区", "210411"], ["抚顺县", "210421"], ["新宾满族自治县", "210422"], ["清原满族自治县", "210423"]],
        "210500": [["本溪市", "210500"], ["市辖区", "210501"], ["平山区", "210502"], ["溪湖区", "210503"], ["明山区", "210504"], ["南芬区", "210505"], ["本溪满族自治县", "210521"], ["桓仁满族自治县", "210522"]],
        "210600": [["丹东市", "210600"], ["市辖区", "210601"], ["元宝区", "210602"], ["振兴区", "210603"], ["振安区", "210604"], ["宽甸满族自治县", "210624"], ["东港市", "210681"], ["凤城市", "210682"]],
        "210700": [["锦州市", "210700"], ["市辖区", "210701"], ["古塔区", "210702"], ["凌河区", "210703"], ["太和区", "210711"], ["黑山县", "210726"], ["义县", "210727"], ["凌海市", "210781"], ["北宁市", "210782"]],
        "210800": [["营口市", "210800"], ["市辖区", "210801"], ["站前区", "210802"], ["西市区", "210803"], ["鲅鱼圈区", "210804"], ["老边区", "210811"], ["盖州市", "210881"], ["大石桥市", "210882"]],
        "210900": [["阜新市", "210900"], ["市辖区", "210901"], ["海州区", "210902"], ["新邱区", "210903"], ["太平区", "210904"], ["清河门区", "210905"], ["细河区", "210911"], ["阜新蒙古族自治县", "210921"], ["彰武县", "210922"]],
        "211000": [["辽阳市", "211000"], ["市辖区", "211001"], ["白塔区", "211002"], ["文圣区", "211003"], ["宏伟区", "211004"], ["弓长岭区", "211005"], ["太子河区", "211011"], ["辽阳县", "211021"], ["灯塔市", "211081"]],
        "211100": [["盘锦市", "211100"], ["市辖区", "211101"], ["双台子区", "211102"], ["兴隆台区", "211103"], ["大洼县", "211121"], ["盘山县", "211122"]],
        "211200": [["铁岭市", "211200"], ["市辖区", "211201"], ["银州区", "211202"], ["清河区", "211204"], ["铁岭县", "211221"], ["西丰县", "211223"], ["昌图县", "211224"], ["调兵山市", "211281"], ["开原市", "211282"]],
        "211300": [["朝阳市", "211300"], ["市辖区", "211301"], ["双塔区", "211302"], ["龙城区", "211303"], ["朝阳县", "211321"], ["建平县", "211322"], ["喀喇沁左翼蒙古族自治县", "211324"], ["北票市", "211381"], ["凌源市", "211382"]],
        "211400": [["葫芦岛市", "211400"], ["市辖区", "211401"], ["连山区", "211402"], ["龙港区", "211403"], ["南票区", "211404"], ["绥中县", "211421"], ["建昌县", "211422"], ["兴城市", "211481"]],
        "220100": [["长春市", "220100"], ["市辖区", "220101"], ["南关区", "220102"], ["宽城区", "220103"], ["朝阳区", "220104"], ["二道区", "220105"], ["绿园区", "220106"], ["双阳区", "220112"], ["农安县", "220122"], ["九台市", "220181"], ["榆树市", "220182"], ["德惠市", "220183"]],
        "220200": [["吉林市", "220200"], ["市辖区", "220201"], ["昌邑区", "220202"], ["龙潭区", "220203"], ["船营区", "220204"], ["丰满区", "220211"], ["永吉县", "220221"], ["蛟河市", "220281"], ["桦甸市", "220282"], ["舒兰市", "220283"], ["磐石市", "220284"]],
        "220300": [["四平市", "220300"], ["市辖区", "220301"], ["铁西区", "220302"], ["铁东区", "220303"], ["梨树县", "220322"], ["伊通满族自治县", "220323"], ["公主岭市", "220381"], ["双辽市", "220382"]],
        "220400": [["辽源市", "220400"], ["市辖区", "220401"], ["龙山区", "220402"], ["西安区", "220403"], ["东丰县", "220421"], ["东辽县", "220422"]],
        "220500": [["通化市", "220500"], ["市辖区", "220501"], ["东昌区", "220502"], ["二道江区", "220503"], ["通化县", "220521"], ["辉南县", "220523"], ["柳河县", "220524"], ["梅河口市", "220581"], ["集安市", "220582"]],
        "220600": [["白山市", "220600"], ["市辖区", "220601"], ["八道江区", "220602"], ["抚松县", "220621"], ["靖宇县", "220622"], ["长白朝鲜族自治县", "220623"], ["江源县", "220625"], ["临江市", "220681"]],
        "220700": [["松原市", "220700"], ["市辖区", "220701"], ["宁江区", "220702"], ["前郭尔罗斯蒙古族自治县", "220721"], ["长岭县", "220722"], ["乾安县", "220723"], ["扶余县", "220724"]],
        "220800": [["白城市", "220800"], ["市辖区", "220801"], ["洮北区", "220802"], ["镇赉县", "220821"], ["通榆县", "220822"], ["洮南市", "220881"], ["大安市", "220882"]],
        "222400": [["延边朝鲜族自治州", "222400"], ["延吉市", "222401"], ["图们市", "222402"], ["敦化市", "222403"], ["珲春市", "222404"], ["龙井市", "222405"], ["和龙市", "222406"], ["汪清县", "222424"], ["安图县", "222426"]],
        "230100": [["哈尔滨市", "230100"], ["市辖区", "230101"], ["道里区", "230102"], ["南岗区", "230103"], ["道外区", "230104"], ["太平区", "230105"], ["香坊区", "230106"], ["动力区", "230107"], ["平房区", "230108"], ["呼兰县", "230121"], ["依兰县", "230123"], ["方正县", "230124"], ["宾县", "230125"], ["巴彦县", "230126"], ["木兰县", "230127"], ["通河县", "230128"], ["延寿县", "230129"], ["阿城市", "230181"], ["双城市", "230182"], ["尚志市", "230183"], ["五常市", "230184"]],
        "230200": [["齐齐哈尔市", "230200"], ["市辖区", "230201"], ["龙沙区", "230202"], ["建华区", "230203"], ["铁锋区", "230204"], ["昂昂溪区", "230205"], ["富拉尔基区", "230206"], ["碾子山区", "230207"], ["梅里斯达斡尔族区", "230208"], ["龙江县", "230221"], ["依安县", "230223"], ["泰来县", "230224"], ["甘南县", "230225"], ["富裕县", "230227"], ["克山县", "230229"], ["克东县", "230230"], ["拜泉县", "230231"], ["讷河市", "230281"]],
        "230300": [["鸡西市", "230300"], ["市辖区", "230301"], ["鸡冠区", "230302"], ["恒山区", "230303"], ["滴道区", "230304"], ["梨树区", "230305"], ["城子河区", "230306"], ["麻山区", "230307"], ["鸡东县", "230321"], ["虎林市", "230381"], ["密山市", "230382"]],
        "230400": [["鹤岗市", "230400"], ["市辖区", "230401"], ["向阳区", "230402"], ["工农区", "230403"], ["南山区", "230404"], ["兴安区", "230405"], ["东山区", "230406"], ["兴山区", "230407"], ["萝北县", "230421"], ["绥滨县", "230422"]],
        "230500": [["双鸭山市", "230500"], ["市辖区", "230501"], ["尖山区", "230502"], ["岭东区", "230503"], ["四方台区", "230505"], ["宝山区", "230506"], ["集贤县", "230521"], ["友谊县", "230522"], ["宝清县", "230523"], ["饶河县", "230524"]],
        "230600": [["大庆市", "230600"], ["市辖区", "230601"], ["萨尔图区", "230602"], ["龙凤区", "230603"], ["让胡路区", "230604"], ["红岗区", "230605"], ["大同区", "230606"], ["肇州县", "230621"], ["肇源县", "230622"], ["林甸县", "230623"], ["杜尔伯特蒙古族自治县", "230624"]],
        "230700": [["伊春市", "230700"], ["市辖区", "230701"], ["伊春区", "230702"], ["南岔区", "230703"], ["友好区", "230704"], ["西林区", "230705"], ["翠峦区", "230706"], ["新青区", "230707"], ["美溪区", "230708"], ["金山屯区", "230709"], ["五营区", "230710"], ["乌马河区", "230711"], ["汤旺河区", "230712"], ["带岭区", "230713"], ["乌伊岭区", "230714"], ["红星区", "230715"], ["上甘岭区", "230716"], ["嘉荫县", "230722"], ["铁力市", "230781"]],
        "230800": [["佳木斯市", "230800"], ["市辖区", "230801"], ["永红区", "230802"], ["向阳区", "230803"], ["前进区", "230804"], ["东风区", "230805"], ["郊区", "230811"], ["桦南县", "230822"], ["桦川县", "230826"], ["汤原县", "230828"], ["抚远县", "230833"], ["同江市", "230881"], ["富锦市", "230882"]],
        "230900": [["七台河市", "230900"], ["市辖区", "230901"], ["新兴区", "230902"], ["桃山区", "230903"], ["茄子河区", "230904"], ["勃利县", "230921"]],
        "231000": [["牡丹江市", "231000"], ["市辖区", "231001"], ["东安区", "231002"], ["阳明区", "231003"], ["爱民区", "231004"], ["西安区", "231005"], ["东宁县", "231024"], ["林口县", "231025"], ["绥芬河市", "231081"], ["海林市", "231083"], ["宁安市", "231084"], ["穆棱市", "231085"]],
        "231100": [["黑河市", "231100"], ["市辖区", "231101"], ["爱辉区", "231102"], ["嫩江县", "231121"], ["逊克县", "231123"], ["孙吴县", "231124"], ["北安市", "231181"], ["五大连池市", "231182"]],
        "231200": [["绥化市", "231200"], ["市辖区", "231201"], ["北林区", "231202"], ["望奎县", "231221"], ["兰西县", "231222"], ["青冈县", "231223"], ["庆安县", "231224"], ["明水县", "231225"], ["绥棱县", "231226"], ["安达市", "231281"], ["肇东市", "231282"], ["海伦市", "231283"]],
        "232700": [["大兴安岭地区", "232700"], ["呼玛县", "232721"], ["塔河县", "232722"], ["漠河县", "232723"]],
        "340100": [["合肥市", "340100"], ["市辖区", "340101"], ["瑶海区", "340102"], ["庐阳区", "340103"], ["蜀山区", "340104"], ["包河区", "340111"], ["长丰县", "340121"], ["肥东县", "340122"], ["肥西县", "340123"]],
        "340200": [["芜湖市", "340200"], ["市辖区", "340201"], ["镜湖区", "340202"], ["马塘区", "340203"], ["新芜区", "340204"], ["鸠江区", "340207"], ["芜湖县", "340221"], ["繁昌县", "340222"], ["南陵县", "340223"]],
        "340300": [["蚌埠市", "340300"], ["市辖区", "340301"], ["东市区", "340302"], ["中市区", "340303"], ["西市区", "340304"], ["郊区", "340311"], ["怀远县", "340321"], ["五河县", "340322"], ["固镇县", "340323"]],
        "340400": [["淮南市", "340400"], ["市辖区", "340401"], ["大通区", "340402"], ["田家庵区", "340403"], ["谢家集区", "340404"], ["八公山区", "340405"], ["潘集区", "340406"], ["凤台县", "340421"]],
        "340500": [["马鞍山市", "340500"], ["市辖区", "340501"], ["金家庄区", "340502"], ["花山区", "340503"], ["雨山区", "340504"], ["当涂县", "340521"]],
        "340600": [["淮北市", "340600"], ["市辖区", "340601"], ["杜集区", "340602"], ["相山区", "340603"], ["烈山区", "340604"], ["濉溪县", "340621"]],
        "340700": [["铜陵市", "340700"], ["市辖区", "340701"], ["铜官山区", "340702"], ["狮子山区", "340703"], ["郊区", "340711"], ["铜陵县", "340721"]],
        "340800": [["安庆市", "340800"], ["市辖区", "340801"], ["迎江区", "340802"], ["大观区", "340803"], ["郊区", "340811"], ["怀宁县", "340822"], ["枞阳县", "340823"], ["潜山县", "340824"], ["太湖县", "340825"], ["宿松县", "340826"], ["望江县", "340827"], ["岳西县", "340828"], ["桐城市", "340881"]],
        "341000": [["黄山市", "341000"], ["市辖区", "341001"], ["屯溪区", "341002"], ["黄山区", "341003"], ["徽州区", "341004"], ["歙县", "341021"], ["休宁县", "341022"], ["黟县", "341023"], ["祁门县", "341024"]],
        "341100": [["滁州市", "341100"], ["市辖区", "341101"], ["琅琊区", "341102"], ["南谯区", "341103"], ["来安县", "341122"], ["全椒县", "341124"], ["定远县", "341125"], ["凤阳县", "341126"], ["天长市", "341181"], ["明光市", "341182"]],
        "341200": [["阜阳市", "341200"], ["市辖区", "341201"], ["颍州区", "341202"], ["颍东区", "341203"], ["颍泉区", "341204"], ["临泉县", "341221"], ["太和县", "341222"], ["阜南县", "341225"], ["颍上县", "341226"], ["界首市", "341282"]],
        "341300": [["宿州市", "341300"], ["市辖区", "341301"], ["墉桥区", "341302"], ["砀山县", "341321"], ["萧县", "341322"], ["灵璧县", "341323"], ["泗县", "341324"]],
        "341400": [["巢湖市", "341400"], ["市辖区", "341401"], ["居巢区", "341402"], ["庐江县", "341421"], ["无为县", "341422"], ["含山县", "341423"], ["和县", "341424"]],
        "341500": [["六安市", "341500"], ["市辖区", "341501"], ["金安区", "341502"], ["裕安区", "341503"], ["寿县", "341521"], ["霍邱县", "341522"], ["舒城县", "341523"], ["金寨县", "341524"], ["霍山县", "341525"]],
        "341600": [["亳州市", "341600"], ["市辖区", "341601"], ["谯城区", "341602"], ["涡阳县", "341621"], ["蒙城县", "341622"], ["利辛县", "341623"]],
        "341700": [["池州市", "341700"], ["市辖区", "341701"], ["贵池区", "341702"], ["东至县", "341721"], ["石台县", "341722"], ["青阳县", "341723"]],
        "341800": [["宣城市", "341800"], ["市辖区", "341801"], ["宣州区", "341802"], ["郎溪县", "341821"], ["广德县", "341822"], ["泾县", "341823"], ["绩溪县", "341824"], ["旌德县", "341825"], ["宁国市", "341881"]],
        "350100": [["福州市", "350100"], ["市辖区", "350101"], ["鼓楼区", "350102"], ["台江区", "350103"], ["仓山区", "350104"], ["马尾区", "350105"], ["晋安区", "350111"], ["闽侯县", "350121"], ["连江县", "350122"], ["罗源县", "350123"], ["闽清县", "350124"], ["永泰县", "350125"], ["平潭县", "350128"], ["福清市", "350181"], ["长乐市", "350182"]],
        "350200": [["厦门市", "350200"], ["市辖区", "350201"], ["思明区", "350203"], ["海沧区", "350205"], ["湖里区", "350206"], ["集美区", "350211"], ["同安区", "350212"], ["翔安区", "350213"]],
        "350300": [["莆田市", "350300"], ["市辖区", "350301"], ["城厢区", "350302"], ["涵江区", "350303"], ["荔城区", "350304"], ["秀屿区", "350305"], ["仙游县", "350322"]],
        "350400": [["三明市", "350400"], ["市辖区", "350401"], ["梅列区", "350402"], ["三元区", "350403"], ["明溪县", "350421"], ["清流县", "350423"], ["宁化县", "350424"], ["大田县", "350425"], ["尤溪县", "350426"], ["沙县", "350427"], ["将乐县", "350428"], ["泰宁县", "350429"], ["建宁县", "350430"], ["永安市", "350481"]],
        "350500": [["泉州市", "350500"], ["市辖区", "350501"], ["鲤城区", "350502"], ["丰泽区", "350503"], ["洛江区", "350504"], ["泉港区", "350505"], ["惠安县", "350521"], ["安溪县", "350524"], ["永春县", "350525"], ["德化县", "350526"], ["金门县", "350527"], ["石狮市", "350581"], ["晋江市", "350582"], ["南安市", "350583"]],
        "350600": [["漳州市", "350600"], ["市辖区", "350601"], ["芗城区", "350602"], ["龙文区", "350603"], ["云霄县", "350622"], ["漳浦县", "350623"], ["诏安县", "350624"], ["长泰县", "350625"], ["东山县", "350626"], ["南靖县", "350627"], ["平和县", "350628"], ["华安县", "350629"], ["龙海市", "350681"]],
        "350700": [["南平市", "350700"], ["市辖区", "350701"], ["延平区", "350702"], ["顺昌县", "350721"], ["浦城县", "350722"], ["光泽县", "350723"], ["松溪县", "350724"], ["政和县", "350725"], ["邵武市", "350781"], ["武夷山市", "350782"], ["建瓯市", "350783"], ["建阳市", "350784"]],
        "350800": [["龙岩市", "350800"], ["市辖区", "350801"], ["新罗区", "350802"], ["长汀县", "350821"], ["永定县", "350822"], ["上杭县", "350823"], ["武平县", "350824"], ["连城县", "350825"], ["漳平市", "350881"]],
        "350900": [["宁德市", "350900"], ["市辖区", "350901"], ["蕉城区", "350902"], ["霞浦县", "350921"], ["古田县", "350922"], ["屏南县", "350923"], ["寿宁县", "350924"], ["周宁县", "350925"], ["柘荣县", "350926"], ["福安市", "350981"], ["福鼎市", "350982"]],
        "360100": [["南昌市", "360100"], ["市辖区", "360101"], ["东湖区", "360102"], ["西湖区", "360103"], ["青云谱区", "360104"], ["湾里区", "360105"], ["青山湖区", "360111"], ["南昌县", "360121"], ["新建县", "360122"], ["安义县", "360123"], ["进贤县", "360124"]],
        "360200": [["景德镇市", "360200"], ["市辖区", "360201"], ["昌江区", "360202"], ["珠山区", "360203"], ["浮梁县", "360222"], ["乐平市", "360281"]],
        "360300": [["萍乡市", "360300"], ["市辖区", "360301"], ["安源区", "360302"], ["湘东区", "360313"], ["莲花县", "360321"], ["上栗县", "360322"], ["芦溪县", "360323"]],
        "360400": [["九江市", "360400"], ["市辖区", "360401"], ["庐山区", "360402"], ["浔阳区", "360403"], ["九江县", "360421"], ["武宁县", "360423"], ["修水县", "360424"], ["永修县", "360425"], ["德安县", "360426"], ["星子县", "360427"], ["都昌县", "360428"], ["湖口县", "360429"], ["彭泽县", "360430"], ["瑞昌市", "360481"]],
        "360500": [["新余市", "360500"], ["市辖区", "360501"], ["渝水区", "360502"], ["分宜县", "360521"]],
        "360600": [["鹰潭市", "360600"], ["市辖区", "360601"], ["月湖区", "360602"], ["余江县", "360622"], ["贵溪市", "360681"]],
        "360700": [["赣州市", "360700"], ["市辖区", "360701"], ["章贡区", "360702"], ["赣县", "360721"], ["信丰县", "360722"], ["大余县", "360723"], ["上犹县", "360724"], ["崇义县", "360725"], ["安远县", "360726"], ["龙南县", "360727"], ["定南县", "360728"], ["全南县", "360729"], ["宁都县", "360730"], ["于都县", "360731"], ["兴国县", "360732"], ["会昌县", "360733"], ["寻乌县", "360734"], ["石城县", "360735"], ["瑞金市", "360781"], ["南康市", "360782"]],
        "360800": [["吉安市", "360800"], ["市辖区", "360801"], ["吉州区", "360802"], ["青原区", "360803"], ["吉安县", "360821"], ["吉水县", "360822"], ["峡江县", "360823"], ["新干县", "360824"], ["永丰县", "360825"], ["泰和县", "360826"], ["遂川县", "360827"], ["万安县", "360828"], ["安福县", "360829"], ["永新县", "360830"], ["井冈山市", "360881"]],
        "360900": [["宜春市", "360900"], ["市辖区", "360901"], ["袁州区", "360902"], ["奉新县", "360921"], ["万载县", "360922"], ["上高县", "360923"], ["宜丰县", "360924"], ["靖安县", "360925"], ["铜鼓县", "360926"], ["丰城市", "360981"], ["樟树市", "360982"], ["高安市", "360983"]],
        "361000": [["抚州市", "361000"], ["市辖区", "361001"], ["临川区", "361002"], ["南城县", "361021"], ["黎川县", "361022"], ["南丰县", "361023"], ["崇仁县", "361024"], ["乐安县", "361025"], ["宜黄县", "361026"], ["金溪县", "361027"], ["资溪县", "361028"], ["东乡县", "361029"], ["广昌县", "361030"]],
        "361100": [["上饶市", "361100"], ["市辖区", "361101"], ["信州区", "361102"], ["上饶县", "361121"], ["广丰县", "361122"], ["玉山县", "361123"], ["铅山县", "361124"], ["横峰县", "361125"], ["弋阳县", "361126"], ["余干县", "361127"], ["波阳县", "361128"], ["万年县", "361129"], ["婺源县", "361130"], ["德兴市", "361181"]],
        "370100": [["济南市", "370100"], ["市辖区", "370101"], ["历下区", "370102"], ["市中区", "370103"], ["槐荫区", "370104"], ["天桥区", "370105"], ["历城区", "370112"], ["长清区", "370113"], ["平阴县", "370124"], ["济阳县", "370125"], ["商河县", "370126"], ["章丘市", "370181"]],
        "370200": [["青岛市", "370200"], ["市辖区", "370201"], ["市南区", "370202"], ["市北区", "370203"], ["四方区", "370205"], ["黄岛区", "370211"], ["崂山区", "370212"], ["李沧区", "370213"], ["城阳区", "370214"], ["胶州市", "370281"], ["即墨市", "370282"], ["平度市", "370283"], ["胶南市", "370284"], ["莱西市", "370285"]],
        "370300": [["淄博市", "370300"], ["市辖区", "370301"], ["淄川区", "370302"], ["张店区", "370303"], ["博山区", "370304"], ["临淄区", "370305"], ["周村区", "370306"], ["桓台县", "370321"], ["高青县", "370322"], ["沂源县", "370323"]],
        "370400": [["枣庄市", "370400"], ["市辖区", "370401"], ["市中区", "370402"], ["薛城区", "370403"], ["峄城区", "370404"], ["台儿庄区", "370405"], ["山亭区", "370406"], ["滕州市", "370481"]],
        "370500": [["东营市", "370500"], ["市辖区", "370501"], ["东营区", "370502"], ["河口区", "370503"], ["垦利县", "370521"], ["利津县", "370522"], ["广饶县", "370523"]],
        "370600": [["烟台市", "370600"], ["市辖区", "370601"], ["芝罘区", "370602"], ["福山区", "370611"], ["牟平区", "370612"], ["莱山区", "370613"], ["长岛县", "370634"], ["龙口市", "370681"], ["莱阳市", "370682"], ["莱州市", "370683"], ["蓬莱市", "370684"], ["招远市", "370685"], ["栖霞市", "370686"], ["海阳市", "370687"]],
        "370700": [["潍坊市", "370700"], ["市辖区", "370701"], ["潍城区", "370702"], ["寒亭区", "370703"], ["坊子区", "370704"], ["奎文区", "370705"], ["临朐县", "370724"], ["昌乐县", "370725"], ["青州市", "370781"], ["诸城市", "370782"], ["寿光市", "370783"], ["安丘市", "370784"], ["高密市", "370785"], ["昌邑市", "370786"]],
        "370800": [["济宁市", "370800"], ["市辖区", "370801"], ["市中区", "370802"], ["任城区", "370811"], ["微山县", "370826"], ["鱼台县", "370827"], ["金乡县", "370828"], ["嘉祥县", "370829"], ["汶上县", "370830"], ["泗水县", "370831"], ["梁山县", "370832"], ["曲阜市", "370881"], ["兖州市", "370882"], ["邹城市", "370883"]],
        "370900": [["泰安市", "370900"], ["市辖区", "370901"], ["泰山区", "370902"], ["岱岳区", "370903"], ["宁阳县", "370921"], ["东平县", "370923"], ["新泰市", "370982"], ["肥城市", "370983"]],
        "371000": [["威海市", "371000"], ["市辖区", "371001"], ["环翠区", "371002"], ["文登市", "371081"], ["荣成市", "371082"], ["乳山市", "371083"]],
        "371100": [["日照市", "371100"], ["市辖区", "371101"], ["东港区", "371102"], ["五莲县", "371121"], ["莒县", "371122"]],
        "371200": [["莱芜市", "371200"], ["市辖区", "371201"], ["莱城区", "371202"], ["钢城区", "371203"]],
        "371300": [["临沂市", "371300"], ["市辖区", "371301"], ["兰山区", "371302"], ["罗庄区", "371311"], ["河东区", "371312"], ["沂南县", "371321"], ["郯城县", "371322"], ["沂水县", "371323"], ["苍山县", "371324"], ["费县", "371325"], ["平邑县", "371326"], ["莒南县", "371327"], ["蒙阴县", "371328"], ["临沭县", "371329"]],
        "371400": [["德州市", "371400"], ["市辖区", "371401"], ["德城区", "371402"], ["陵县", "371421"], ["宁津县", "371422"], ["庆云县", "371423"], ["临邑县", "371424"], ["齐河县", "371425"], ["平原县", "371426"], ["夏津县", "371427"], ["武城县", "371428"], ["乐陵市", "371481"], ["禹城市", "371482"]],
        "371500": [["聊城市", "371500"], ["市辖区", "371501"], ["东昌府区", "371502"], ["阳谷县", "371521"], ["莘县", "371522"], ["茌平县", "371523"], ["东阿县", "371524"], ["冠县", "371525"], ["高唐县", "371526"], ["临清市", "371581"]],
        "371600": [["滨州市", "371600"], ["市辖区", "371601"], ["滨城区", "371602"], ["惠民县", "371621"], ["阳信县", "371622"], ["无棣县", "371623"], ["沾化县", "371624"], ["博兴县", "371625"], ["邹平县", "371626"]],
        "371700": [["荷泽市", "371700"], ["市辖区", "371701"], ["牡丹区", "371702"], ["曹县", "371721"], ["单县", "371722"], ["成武县", "371723"], ["巨野县", "371724"], ["郓城县", "371725"], ["鄄城县", "371726"], ["定陶县", "371727"], ["东明县", "371728"]],
        "410100": [["郑州市", "410100"], ["市辖区", "410101"], ["中原区", "410102"], ["二七区", "410103"], ["管城回族区", "410104"], ["金水区", "410105"], ["上街区", "410106"], ["邙山区", "410108"], ["中牟县", "410122"], ["巩义市", "410181"], ["荥阳市", "410182"], ["新密市", "410183"], ["新郑市", "410184"], ["登封市", "410185"]],
        "410200": [["开封市", "410200"], ["市辖区", "410201"], ["龙亭区", "410202"], ["顺河回族区", "410203"], ["鼓楼区", "410204"], ["南关区", "410205"], ["郊区", "410211"], ["杞县", "410221"], ["通许县", "410222"], ["尉氏县", "410223"], ["开封县", "410224"], ["兰考县", "410225"]],
        "410300": [["洛阳市", "410300"], ["市辖区", "410301"], ["老城区", "410302"], ["西工区", "410303"], ["廛河回族区", "410304"], ["涧西区", "410305"], ["吉利区", "410306"], ["洛龙区", "410307"], ["孟津县", "410322"], ["新安县", "410323"], ["栾川县", "410324"], ["嵩县", "410325"], ["汝阳县", "410326"], ["宜阳县", "410327"], ["洛宁县", "410328"], ["伊川县", "410329"], ["偃师市", "410381"]],
        "410400": [["平顶山市", "410400"], ["市辖区", "410401"], ["新华区", "410402"], ["卫东区", "410403"], ["石龙区", "410404"], ["湛河区", "410411"], ["宝丰县", "410421"], ["叶县", "410422"], ["鲁山县", "410423"], ["郏县", "410425"], ["舞钢市", "410481"], ["汝州市", "410482"]],
        "410500": [["安阳市", "410500"], ["市辖区", "410501"], ["文峰区", "410502"], ["北关区", "410503"], ["殷都区", "410505"], ["龙安区", "410506"], ["安阳县", "410522"], ["汤阴县", "410523"], ["滑县", "410526"], ["内黄县", "410527"], ["林州市", "410581"]],
        "410600": [["鹤壁市", "410600"], ["市辖区", "410601"], ["鹤山区", "410602"], ["山城区", "410603"], ["淇滨区", "410611"], ["浚县", "410621"], ["淇县", "410622"]],
        "410700": [["新乡市", "410700"], ["市辖区", "410701"], ["红旗区", "410702"], ["新华区", "410703"], ["北站区", "410704"], ["郊区", "410711"], ["新乡县", "410721"], ["获嘉县", "410724"], ["原阳县", "410725"], ["延津县", "410726"], ["封丘县", "410727"], ["长垣县", "410728"], ["卫辉市", "410781"], ["辉县市", "410782"]],
        "410800": [["焦作市", "410800"], ["市辖区", "410801"], ["解放区", "410802"], ["中站区", "410803"], ["马村区", "410804"], ["山阳区", "410811"], ["修武县", "410821"], ["博爱县", "410822"], ["武陟县", "410823"], ["温县", "410825"], ["济源市", "410881"], ["沁阳市", "410882"], ["孟州市", "410883"]],
        "410900": [["濮阳市", "410900"], ["市辖区", "410901"], ["华龙区", "410902"], ["清丰县", "410922"], ["南乐县", "410923"], ["范县", "410926"], ["台前县", "410927"], ["濮阳县", "410928"]],
        "411000": [["许昌市", "411000"], ["市辖区", "411001"], ["魏都区", "411002"], ["许昌县", "411023"], ["鄢陵县", "411024"], ["襄城县", "411025"], ["禹州市", "411081"], ["长葛市", "411082"]],
        "411100": [["漯河市", "411100"], ["市辖区", "411101"], ["源汇区", "411102"], ["舞阳县", "411121"], ["临颍县", "411122"], ["郾城县", "411123"]],
        "411200": [["三门峡市", "411200"], ["市辖区", "411201"], ["湖滨区", "411202"], ["渑池县", "411221"], ["陕县", "411222"], ["卢氏县", "411224"], ["义马市", "411281"], ["灵宝市", "411282"]],
        "411300": [["南阳市", "411300"], ["市辖区", "411301"], ["宛城区", "411302"], ["卧龙区", "411303"], ["南召县", "411321"], ["方城县", "411322"], ["西峡县", "411323"], ["镇平县", "411324"], ["内乡县", "411325"], ["淅川县", "411326"], ["社旗县", "411327"], ["唐河县", "411328"], ["新野县", "411329"], ["桐柏县", "411330"], ["邓州市", "411381"]],
        "411400": [["商丘市", "411400"], ["市辖区", "411401"], ["梁园区", "411402"], ["睢阳区", "411403"], ["民权县", "411421"], ["睢县", "411422"], ["宁陵县", "411423"], ["柘城县", "411424"], ["虞城县", "411425"], ["夏邑县", "411426"], ["永城市", "411481"]],
        "411500": [["信阳市", "411500"], ["市辖区", "411501"], ["师河区", "411502"], ["平桥区", "411503"], ["罗山县", "411521"], ["光山县", "411522"], ["新县", "411523"], ["商城县", "411524"], ["固始县", "411525"], ["潢川县", "411526"], ["淮滨县", "411527"], ["息县", "411528"]],
        "411600": [["周口市", "411600"], ["市辖区", "411601"], ["川汇区", "411602"], ["扶沟县", "411621"], ["西华县", "411622"], ["商水县", "411623"], ["沈丘县", "411624"], ["郸城县", "411625"], ["淮阳县", "411626"], ["太康县", "411627"], ["鹿邑县", "411628"], ["项城市", "411681"]],
        "411700": [["驻马店市", "411700"], ["市辖区", "411701"], ["驿城区", "411702"], ["西平县", "411721"], ["上蔡县", "411722"], ["平舆县", "411723"], ["正阳县", "411724"], ["确山县", "411725"], ["泌阳县", "411726"], ["汝南县", "411727"], ["遂平县", "411728"], ["新蔡县", "411729"]],
        "420100": [["武汉市", "420100"], ["市辖区", "420101"], ["江岸区", "420102"], ["江汉区", "420103"], ["乔口区", "420104"], ["汉阳区", "420105"], ["武昌区", "420106"], ["青山区", "420107"], ["洪山区", "420111"], ["东西湖区", "420112"], ["汉南区", "420113"], ["蔡甸区", "420114"], ["江夏区", "420115"], ["黄陂区", "420116"], ["新洲区", "420117"]],
        "420200": [["黄石市", "420200"], ["市辖区", "420201"], ["黄石港区", "420202"], ["西塞山区", "420203"], ["下陆区", "420204"], ["铁山区", "420205"], ["阳新县", "420222"], ["大冶市", "420281"]],
        "420300": [["十堰市", "420300"], ["市辖区", "420301"], ["茅箭区", "420302"], ["张湾区", "420303"], ["郧县", "420321"], ["郧西县", "420322"], ["竹山县", "420323"], ["竹溪县", "420324"], ["房县", "420325"], ["丹江口市", "420381"]],
        "420500": [["宜昌市", "420500"], ["市辖区", "420501"], ["西陵区", "420502"], ["伍家岗区", "420503"], ["点军区", "420504"], ["虎亭区", "420505"], ["夷陵区", "420506"], ["远安县", "420525"], ["兴山县", "420526"], ["秭归县", "420527"], ["长阳土家族自治县", "420528"], ["五峰土家族自治县", "420529"], ["宜都市", "420581"], ["当阳市", "420582"], ["枝江市", "420583"]],
        "420600": [["襄樊市", "420600"], ["市辖区", "420601"], ["襄城区", "420602"], ["樊城区", "420606"], ["襄阳区", "420607"], ["南漳县", "420624"], ["谷城县", "420625"], ["保康县", "420626"], ["老河口市", "420682"], ["枣阳市", "420683"], ["宜城市", "420684"]],
        "420700": [["鄂州市", "420700"], ["市辖区", "420701"], ["梁子湖区", "420702"], ["华容区", "420703"], ["鄂城区", "420704"]],
        "420800": [["荆门市", "420800"], ["市辖区", "420801"], ["东宝区", "420802"], ["掇刀区", "420804"], ["京山县", "420821"], ["沙洋县", "420822"], ["钟祥市", "420881"]],
        "420900": [["孝感市", "420900"], ["市辖区", "420901"], ["孝南区", "420902"], ["孝昌县", "420921"], ["大悟县", "420922"], ["云梦县", "420923"], ["应城市", "420981"], ["安陆市", "420982"], ["汉川市", "420984"]],
        "421000": [["荆州市", "421000"], ["市辖区", "421001"], ["沙市区", "421002"], ["荆州区", "421003"], ["公安县", "421022"], ["监利县", "421023"], ["江陵县", "421024"], ["石首市", "421081"], ["洪湖市", "421083"], ["松滋市", "421087"]],
        "421100": [["黄冈市", "421100"], ["市辖区", "421101"], ["黄州区", "421102"], ["团风县", "421121"], ["红安县", "421122"], ["罗田县", "421123"], ["英山县", "421124"], ["浠水县", "421125"], ["蕲春县", "421126"], ["黄梅县", "421127"], ["麻城市", "421181"], ["武穴市", "421182"]],
        "421200": [["咸宁市", "421200"], ["市辖区", "421201"], ["咸安区", "421202"], ["嘉鱼县", "421221"], ["通城县", "421222"], ["崇阳县", "421223"], ["通山县", "421224"], ["赤壁市", "421281"]],
        "421300": [["随州市", "421300"], ["市辖区", "421301"], ["曾都区", "421302"], ["广水市", "421381"]],
        "422800": [["恩施土家族苗族自治州", "422800"], ["恩施市", "422801"], ["利川市", "422802"], ["建始县", "422822"], ["巴东县", "422823"], ["宣恩县", "422825"], ["咸丰县", "422826"], ["来凤县", "422827"], ["鹤峰县", "422828"]],
        "429000": [["省直辖行政单位", "429000"], ["仙桃市", "429004"], ["潜江市", "429005"], ["天门市", "429006"], ["神农架林区", "429021"]],
        "310100": [["市辖区", "310100"], ["黄浦区", "310101"], ["卢湾区", "310103"], ["徐汇区", "310104"], ["长宁区", "310105"], ["静安区", "310106"], ["普陀区", "310107"], ["闸北区", "310108"], ["虹口区", "310109"], ["杨浦区", "310110"], ["闵行区", "310112"], ["宝山区", "310113"], ["嘉定区", "310114"], ["浦东新区", "310115"], ["金山区", "310116"], ["松江区", "310117"], ["青浦区", "310118"], ["南汇区", "310119"], ["奉贤区", "310120"]],
        "310200": [["县", "310200"], ["崇明县", "310230"]],
        "320100": [["南京市", "320100"], ["市辖区", "320101"], ["玄武区", "320102"], ["白下区", "320103"], ["秦淮区", "320104"], ["建邺区", "320105"], ["鼓楼区", "320106"], ["下关区", "320107"], ["浦口区", "320111"], ["栖霞区", "320113"], ["雨花台区", "320114"], ["江宁区", "320115"], ["六合区", "320116"], ["溧水县", "320124"], ["高淳县", "320125"]],
        "320200": [["无锡市", "320200"], ["市辖区", "320201"], ["崇安区", "320202"], ["南长区", "320203"], ["北塘区", "320204"], ["锡山区", "320205"], ["惠山区", "320206"], ["滨湖区", "320211"], ["江阴市", "320281"], ["宜兴市", "320282"]],
        "320300": [["徐州市", "320300"], ["市辖区", "320301"], ["鼓楼区", "320302"], ["云龙区", "320303"], ["九里区", "320304"], ["贾汪区", "320305"], ["泉山区", "320311"], ["丰县", "320321"], ["沛县", "320322"], ["铜山县", "320323"], ["睢宁县", "320324"], ["新沂市", "320381"], ["邳州市", "320382"]],
        "320400": [["常州市", "320400"], ["市辖区", "320401"], ["天宁区", "320402"], ["钟楼区", "320404"], ["戚墅堰区", "320405"], ["新北区", "320411"], ["武进区", "320412"], ["溧阳市", "320481"], ["金坛市", "320482"]],
        "320500": [["苏州市", "320500"], ["市辖区", "320501"], ["沧浪区", "320502"], ["平江区", "320503"], ["金阊区", "320504"], ["虎丘区", "320505"], ["吴中区", "320506"], ["相城区", "320507"], ["常熟市", "320581"], ["张家港市", "320582"], ["昆山市", "320583"], ["吴江市", "320584"], ["太仓市", "320585"]],
        "320600": [["南通市", "320600"], ["市辖区", "320601"], ["崇川区", "320602"], ["港闸区", "320611"], ["海安县", "320621"], ["如东县", "320623"], ["启东市", "320681"], ["如皋市", "320682"], ["通州市", "320683"], ["海门市", "320684"]],
        "320700": [["连云港市", "320700"], ["市辖区", "320701"], ["连云区", "320703"], ["新浦区", "320705"], ["海州区", "320706"], ["赣榆县", "320721"], ["东海县", "320722"], ["灌云县", "320723"], ["灌南县", "320724"]],
        "320800": [["淮安市", "320800"], ["市辖区", "320801"], ["清河区", "320802"], ["楚州区", "320803"], ["淮阴区", "320804"], ["清浦区", "320811"], ["涟水县", "320826"], ["洪泽县", "320829"], ["盱眙县", "320830"], ["金湖县", "320831"]],
        "320900": [["盐城市", "320900"], ["市辖区", "320901"], ["城区", "320902"], ["响水县", "320921"], ["滨海县", "320922"], ["阜宁县", "320923"], ["射阳县", "320924"], ["建湖县", "320925"], ["盐都县", "320928"], ["东台市", "320981"], ["大丰市", "320982"]],
        "321000": [["扬州市", "321000"], ["市辖区", "321001"], ["广陵区", "321002"], ["邗江区", "321003"], ["郊区", "321011"], ["宝应县", "321023"], ["仪征市", "321081"], ["高邮市", "321084"], ["江都市", "321088"]],
        "321100": [["镇江市", "321100"], ["市辖区", "321101"], ["京口区", "321102"], ["润州区", "321111"], ["丹徒区", "321112"], ["丹阳市", "321181"], ["扬中市", "321182"], ["句容市", "321183"]],
        "321200": [["泰州市", "321200"], ["市辖区", "321201"], ["海陵区", "321202"], ["高港区", "321203"], ["兴化市", "321281"], ["靖江市", "321282"], ["泰兴市", "321283"], ["姜堰市", "321284"]],
        "321300": [["宿迁市", "321300"], ["市辖区", "321301"], ["宿城区", "321302"], ["宿豫县", "321321"], ["沭阳县", "321322"], ["泗阳县", "321323"], ["泗洪县", "321324"]],
        "330100": [["杭州市", "330100"], ["市辖区", "330101"], ["上城区", "330102"], ["下城区", "330103"], ["江干区", "330104"], ["拱墅区", "330105"], ["西湖区", "330106"], ["滨江区", "330108"], ["萧山区", "330109"], ["余杭区", "330110"], ["桐庐县", "330122"], ["淳安县", "330127"], ["建德市", "330182"], ["富阳市", "330183"], ["临安市", "330185"]],
        "330200": [["宁波市", "330200"], ["市辖区", "330201"], ["海曙区", "330203"], ["江东区", "330204"], ["江北区", "330205"], ["北仑区", "330206"], ["镇海区", "330211"], ["鄞州区", "330212"], ["象山县", "330225"], ["宁海县", "330226"], ["余姚市", "330281"], ["慈溪市", "330282"], ["奉化市", "330283"]],
        "330300": [["温州市", "330300"], ["市辖区", "330301"], ["鹿城区", "330302"], ["龙湾区", "330303"], ["瓯海区", "330304"], ["洞头县", "330322"], ["永嘉县", "330324"], ["平阳县", "330326"], ["苍南县", "330327"], ["文成县", "330328"], ["泰顺县", "330329"], ["瑞安市", "330381"], ["乐清市", "330382"]],
        "330400": [["嘉兴市", "330400"], ["市辖区", "330401"], ["秀城区", "330402"], ["秀洲区", "330411"], ["嘉善县", "330421"], ["海盐县", "330424"], ["海宁市", "330481"], ["平湖市", "330482"], ["桐乡市", "330483"]],
        "330500": [["湖州市", "330500"], ["市辖区", "330501"], ["吴兴区", "330502"], ["南浔区", "330503"], ["德清县", "330521"], ["长兴县", "330522"], ["安吉县", "330523"]],
        "330600": [["绍兴市", "330600"], ["市辖区", "330601"], ["越城区", "330602"], ["绍兴县", "330621"], ["新昌县", "330624"], ["诸暨市", "330681"], ["上虞市", "330682"], ["嵊州市", "330683"]],
        "330700": [["金华市", "330700"], ["市辖区", "330701"], ["婺城区", "330702"], ["金东区", "330703"], ["武义县", "330723"], ["浦江县", "330726"], ["磐安县", "330727"], ["兰溪市", "330781"], ["义乌市", "330782"], ["东阳市", "330783"], ["永康市", "330784"]],
        "330800": [["衢州市", "330800"], ["市辖区", "330801"], ["柯城区", "330802"], ["衢江区", "330803"], ["常山县", "330822"], ["开化县", "330824"], ["龙游县", "330825"], ["江山市", "330881"]],
        "330900": [["舟山市", "330900"], ["市辖区", "330901"], ["定海区", "330902"], ["普陀区", "330903"], ["岱山县", "330921"], ["嵊泗县", "330922"]],
        "331000": [["台州市", "331000"], ["市辖区", "331001"], ["椒江区", "331002"], ["黄岩区", "331003"], ["路桥区", "331004"], ["玉环县", "331021"], ["三门县", "331022"], ["天台县", "331023"], ["仙居县", "331024"], ["温岭市", "331081"], ["临海市", "331082"]],
        "331100": [["丽水市", "331100"], ["市辖区", "331101"], ["莲都区", "331102"], ["青田县", "331121"], ["缙云县", "331122"], ["遂昌县", "331123"], ["松阳县", "331124"], ["云和县", "331125"], ["庆元县", "331126"], ["景宁畲族自治县", "331127"], ["龙泉市", "331181"]],
        "110100": [["市辖区", "110100"], ["东城区", "110101"], ["西城区", "110102"], ["崇文区", "110103"], ["宣武区", "110104"], ["朝阳区", "110105"], ["丰台区", "110106"], ["石景山区", "110107"], ["海淀区", "110108"], ["门头沟区", "110109"], ["房山区", "110111"], ["通州区", "110112"], ["顺义区", "110113"], ["昌平区", "110114"], ["大兴区", "110115"], ["怀柔区", "110116"], ["平谷区", "110117"]],
        "110200": [["县", "110200"], ["密云县", "110228"], ["延庆县", "110229"]],
        "120100": [["市辖区", "120100"], ["和平区", "120101"], ["河东区", "120102"], ["河西区", "120103"], ["南开区", "120104"], ["河北区", "120105"], ["红桥区", "120106"], ["塘沽区", "120107"], ["汉沽区", "120108"], ["大港区", "120109"], ["东丽区", "120110"], ["西青区", "120111"], ["津南区", "120112"], ["北辰区", "120113"], ["武清区", "120114"], ["宝坻区", "120115"]],
        "120200": [["县", "120200"], ["宁河县", "120221"], ["静海县", "120223"], ["蓟县", "120225"]],
        "130100": [["石家庄市", "130100"], ["市辖区", "130101"], ["长安区", "130102"], ["桥东区", "130103"], ["桥西区", "130104"], ["新华区", "130105"], ["井陉矿区", "130107"], ["裕华区", "130108"], ["井陉县", "130121"], ["正定县", "130123"], ["栾城县", "130124"], ["行唐县", "130125"], ["灵寿县", "130126"], ["高邑县", "130127"], ["深泽县", "130128"], ["赞皇县", "130129"], ["无极县", "130130"], ["平山县", "130131"], ["元氏县", "130132"], ["赵县", "130133"], ["辛集市", "130181"], ["藁城市", "130182"], ["晋州市", "130183"], ["新乐市", "130184"], ["鹿泉市", "130185"]],
        "130200": [["唐山市", "130200"], ["市辖区", "130201"], ["路南区", "130202"], ["路北区", "130203"], ["古冶区", "130204"], ["开平区", "130205"], ["丰南区", "130207"], ["丰润区", "130208"], ["滦县", "130223"], ["滦南县", "130224"], ["乐亭县", "130225"], ["迁西县", "130227"], ["玉田县", "130229"], ["唐海县", "130230"], ["遵化市", "130281"], ["迁安市", "130283"]],
        "130300": [["秦皇岛市", "130300"], ["市辖区", "130301"], ["海港区", "130302"], ["山海关区", "130303"], ["北戴河区", "130304"], ["青龙满族自治县", "130321"], ["昌黎县", "130322"], ["抚宁县", "130323"], ["卢龙县", "130324"]],
        "130400": [["邯郸市", "130400"], ["市辖区", "130401"], ["邯山区", "130402"], ["丛台区", "130403"], ["复兴区", "130404"], ["峰峰矿区", "130406"], ["邯郸县", "130421"], ["临漳县", "130423"], ["成安县", "130424"], ["大名县", "130425"], ["涉县", "130426"], ["磁县", "130427"], ["肥乡县", "130428"], ["永年县", "130429"], ["邱县", "130430"], ["鸡泽县", "130431"], ["广平县", "130432"], ["馆陶县", "130433"], ["魏县", "130434"], ["曲周县", "130435"], ["武安市", "130481"]],
        "130500": [["邢台市", "130500"], ["市辖区", "130501"], ["桥东区", "130502"], ["桥西区", "130503"], ["邢台县", "130521"], ["临城县", "130522"], ["内丘县", "130523"], ["柏乡县", "130524"], ["隆尧县", "130525"], ["任县", "130526"], ["南和县", "130527"], ["宁晋县", "130528"], ["巨鹿县", "130529"], ["新河县", "130530"], ["广宗县", "130531"], ["平乡县", "130532"], ["威县", "130533"], ["清河县", "130534"], ["临西县", "130535"], ["南宫市", "130581"], ["沙河市", "130582"]],
        "130600": [["保定市", "130600"], ["市辖区", "130601"], ["新市区", "130602"], ["北市区", "130603"], ["南市区", "130604"], ["满城县", "130621"], ["清苑县", "130622"], ["涞水县", "130623"], ["阜平县", "130624"], ["徐水县", "130625"], ["定兴县", "130626"], ["唐县", "130627"], ["高阳县", "130628"], ["容城县", "130629"], ["涞源县", "130630"], ["望都县", "130631"], ["安新县", "130632"], ["易县", "130633"], ["曲阳县", "130634"], ["蠡县", "130635"], ["顺平县", "130636"], ["博野县", "130637"], ["雄县", "130638"], ["涿州市", "130681"], ["定州市", "130682"], ["安国市", "130683"], ["高碑店市", "130684"]],
        "130700": [["张家口市", "130700"], ["市辖区", "130701"], ["桥东区", "130702"], ["桥西区", "130703"], ["宣化区", "130705"], ["下花园区", "130706"], ["宣化县", "130721"], ["张北县", "130722"], ["康保县", "130723"], ["沽源县", "130724"], ["尚义县", "130725"], ["蔚县", "130726"], ["阳原县", "130727"], ["怀安县", "130728"], ["万全县", "130729"], ["怀来县", "130730"], ["涿鹿县", "130731"], ["赤城县", "130732"], ["崇礼县", "130733"]],
        "130800": [["承德市", "130800"], ["市辖区", "130801"], ["双桥区", "130802"], ["双滦区", "130803"], ["鹰手营子矿区", "130804"], ["承德县", "130821"], ["兴隆县", "130822"], ["平泉县", "130823"], ["滦平县", "130824"], ["隆化县", "130825"], ["丰宁满族自治县", "130826"], ["宽城满族自治县", "130827"], ["围场满族蒙古族自治县", "130828"]],
        "130900": [["沧州市", "130900"], ["市辖区", "130901"], ["新华区", "130902"], ["运河区", "130903"], ["沧县", "130921"], ["青县", "130922"], ["东光县", "130923"], ["海兴县", "130924"], ["盐山县", "130925"], ["肃宁县", "130926"], ["南皮县", "130927"], ["吴桥县", "130928"], ["献县", "130929"], ["孟村回族自治县", "130930"], ["泊头市", "130981"], ["任丘市", "130982"], ["黄骅市", "130983"], ["河间市", "130984"]],
        "131000": [["廊坊市", "131000"], ["市辖区", "131001"], ["安次区", "131002"], ["广阳区", "131003"], ["固安县", "131022"], ["永清县", "131023"], ["香河县", "131024"], ["大城县", "131025"], ["文安县", "131026"], ["大厂回族自治县", "131028"], ["霸州市", "131081"], ["三河市", "131082"]],
        "131100": [["衡水市", "131100"], ["市辖区", "131101"], ["桃城区", "131102"], ["枣强县", "131121"], ["武邑县", "131122"], ["武强县", "131123"], ["饶阳县", "131124"], ["安平县", "131125"], ["故城县", "131126"], ["景县", "131127"], ["阜城县", "131128"], ["冀州市", "131181"], ["深州市", "131182"]],
        "140100": [["太原市", "140100"], ["市辖区", "140101"], ["小店区", "140105"], ["迎泽区", "140106"], ["杏花岭区", "140107"], ["尖草坪区", "140108"], ["万柏林区", "140109"], ["晋源区", "140110"], ["清徐县", "140121"], ["阳曲县", "140122"], ["娄烦县", "140123"], ["古交市", "140181"]],
        "140200": [["大同市", "140200"], ["市辖区", "140201"], ["城区", "140202"], ["矿区", "140203"], ["南郊区", "140211"], ["新荣区", "140212"], ["阳高县", "140221"], ["天镇县", "140222"], ["广灵县", "140223"], ["灵丘县", "140224"], ["浑源县", "140225"], ["左云县", "140226"], ["大同县", "140227"]],
        "140300": [["阳泉市", "140300"], ["市辖区", "140301"], ["城区", "140302"], ["矿区", "140303"], ["郊区", "140311"], ["平定县", "140321"], ["盂县", "140322"]],
        "140400": [["长治市", "140400"], ["市辖区", "140401"], ["城区", "140402"], ["郊区", "140411"], ["长治县", "140421"], ["襄垣县", "140423"], ["屯留县", "140424"], ["平顺县", "140425"], ["黎城县", "140426"], ["壶关县", "140427"], ["长子县", "140428"], ["武乡县", "140429"], ["沁县", "140430"], ["沁源县", "140431"], ["潞城市", "140481"]],
        "140500": [["晋城市", "140500"], ["市辖区", "140501"], ["城区", "140502"], ["沁水县", "140521"], ["阳城县", "140522"], ["陵川县", "140524"], ["泽州县", "140525"], ["高平市", "140581"]],
        "140600": [["朔州市", "140600"], ["市辖区", "140601"], ["朔城区", "140602"], ["平鲁区", "140603"], ["山阴县", "140621"], ["应县", "140622"], ["右玉县", "140623"], ["怀仁县", "140624"]],
        "140700": [["晋中市", "140700"], ["市辖区", "140701"], ["榆次区", "140702"], ["榆社县", "140721"], ["左权县", "140722"], ["和顺县", "140723"], ["昔阳县", "140724"], ["寿阳县", "140725"], ["太谷县", "140726"], ["祁县", "140727"], ["平遥县", "140728"], ["灵石县", "140729"], ["介休市", "140781"]],
        "140800": [["运城市", "140800"], ["市辖区", "140801"], ["盐湖区", "140802"], ["临猗县", "140821"], ["万荣县", "140822"], ["闻喜县", "140823"], ["稷山县", "140824"], ["新绛县", "140825"], ["绛县", "140826"], ["垣曲县", "140827"], ["夏县", "140828"], ["平陆县", "140829"], ["芮城县", "140830"], ["永济市", "140881"], ["河津市", "140882"]],
        "140900": [["忻州市", "140900"], ["市辖区", "140901"], ["忻府区", "140902"], ["定襄县", "140921"], ["五台县", "140922"], ["代县", "140923"], ["繁峙县", "140924"], ["宁武县", "140925"], ["静乐县", "140926"], ["神池县", "140927"], ["五寨县", "140928"], ["岢岚县", "140929"], ["河曲县", "140930"], ["保德县", "140931"], ["偏关县", "140932"], ["原平市", "140981"]],
        "141000": [["临汾市", "141000"], ["市辖区", "141001"], ["尧都区", "141002"], ["曲沃县", "141021"], ["翼城县", "141022"], ["襄汾县", "141023"], ["洪洞县", "141024"], ["古县", "141025"], ["安泽县", "141026"], ["浮山县", "141027"], ["吉县", "141028"], ["乡宁县", "141029"], ["大宁县", "141030"], ["隰县", "141031"], ["永和县", "141032"], ["蒲县", "141033"], ["汾西县", "141034"], ["侯马市", "141081"], ["霍州市", "141082"]],
        "142300": [["吕梁地区", "142300"], ["孝义市", "142301"], ["离石市", "142302"], ["汾阳市", "142303"], ["文水县", "142322"], ["交城县", "142323"], ["兴县", "142325"], ["临县", "142326"], ["柳林县", "142327"], ["石楼县", "142328"], ["岚县", "142329"], ["方山县", "142330"], ["中阳县", "142332"], ["交口县", "142333"]],
        "150100": [["呼和浩特市", "150100"], ["市辖区", "150101"], ["新城区", "150102"], ["回民区", "150103"], ["玉泉区", "150104"], ["赛罕区", "150105"], ["土默特左旗", "150121"], ["托克托县", "150122"], ["和林格尔县", "150123"], ["清水河县", "150124"], ["武川县", "150125"]],
        "150200": [["包头市", "150200"], ["市辖区", "150201"], ["东河区", "150202"], ["昆都仑区", "150203"], ["青山区", "150204"], ["石拐区", "150205"], ["白云矿区", "150206"], ["九原区", "150207"], ["土默特右旗", "150221"], ["固阳县", "150222"], ["达尔罕茂明安联合旗", "150223"]],
        "150300": [["乌海市", "150300"], ["市辖区", "150301"], ["海勃湾区", "150302"], ["海南区", "150303"], ["乌达区", "150304"]],
        "150400": [["赤峰市", "150400"], ["市辖区", "150401"], ["红山区", "150402"], ["元宝山区", "150403"], ["松山区", "150404"], ["阿鲁科尔沁旗", "150421"], ["巴林左旗", "150422"], ["巴林右旗", "150423"], ["林西县", "150424"], ["克什克腾旗", "150425"], ["翁牛特旗", "150426"], ["喀喇沁旗", "150428"], ["宁城县", "150429"], ["敖汉旗", "150430"]],
        "150500": [["通辽市", "150500"], ["市辖区", "150501"], ["科尔沁区", "150502"], ["科尔沁左翼中旗", "150521"], ["科尔沁左翼后旗", "150522"], ["开鲁县", "150523"], ["库伦旗", "150524"], ["奈曼旗", "150525"], ["扎鲁特旗", "150526"], ["霍林郭勒市", "150581"]],
        "150600": [["鄂尔多斯市", "150600"], ["东胜区", "150602"], ["达拉特旗", "150621"], ["准格尔旗", "150622"], ["鄂托克前旗", "150623"], ["鄂托克旗", "150624"], ["杭锦旗", "150625"], ["乌审旗", "150626"], ["伊金霍洛旗", "150627"]],
        "150700": [["呼伦贝尔市", "150700"], ["市辖区", "150701"], ["海拉尔区", "150702"], ["阿荣旗", "150721"], ["莫力达瓦达斡尔族自治旗", "150722"], ["鄂伦春自治旗", "150723"], ["鄂温克族自治旗", "150724"], ["陈巴尔虎旗", "150725"], ["新巴尔虎左旗", "150726"], ["新巴尔虎右旗", "150727"], ["满洲里市", "150781"], ["牙克石市", "150782"], ["扎兰屯市", "150783"], ["额尔古纳市", "150784"], ["根河市", "150785"]],
        "152200": [["兴安盟", "152200"], ["乌兰浩特市", "152201"], ["阿尔山市", "152202"], ["科尔沁右翼前旗", "152221"], ["科尔沁右翼中旗", "152222"], ["扎赉特旗", "152223"], ["突泉县", "152224"]],
        "152500": [["锡林郭勒盟", "152500"], ["二连浩特市", "152501"], ["锡林浩特市", "152502"], ["阿巴嘎旗", "152522"], ["苏尼特左旗", "152523"], ["苏尼特右旗", "152524"], ["东乌珠穆沁旗", "152525"], ["西乌珠穆沁旗", "152526"], ["太仆寺旗", "152527"], ["镶黄旗", "152528"], ["正镶白旗", "152529"], ["正蓝旗", "152530"], ["多伦县", "152531"]],
        "152600": [["乌兰察布盟", "152600"], ["集宁市", "152601"], ["丰镇市", "152602"], ["卓资县", "152624"], ["化德县", "152625"], ["商都县", "152626"], ["兴和县", "152627"], ["凉城县", "152629"], ["察哈尔右翼前旗", "152630"], ["察哈尔右翼中旗", "152631"], ["察哈尔右翼后旗", "152632"], ["四子王旗", "152634"]],
        "152800": [["巴彦淖尔盟", "152800"], ["临河市", "152801"], ["五原县", "152822"], ["磴口县", "152823"], ["乌拉特前旗", "152824"], ["乌拉特中旗", "152825"], ["乌拉特后旗", "152826"], ["杭锦后旗", "152827"]],
        "152900": [["阿拉善盟", "152900"], ["阿拉善左旗", "152921"], ["阿拉善右旗", "152922"], ["额济纳旗", "152923"]],
        "520100": [["贵阳市", "520100"], ["市辖区", "520101"], ["南明区", "520102"], ["云岩区", "520103"], ["花溪区", "520111"], ["乌当区", "520112"], ["白云区", "520113"], ["小河区", "520114"], ["开阳县", "520121"], ["息烽县", "520122"], ["修文县", "520123"], ["清镇市", "520181"]],
        "520200": [["六盘水市", "520200"], ["钟山区", "520201"], ["六枝特区", "520203"], ["水城县", "520221"], ["盘县", "520222"]],
        "520300": [["遵义市", "520300"], ["市辖区", "520301"], ["红花岗区", "520302"], ["遵义县", "520321"], ["桐梓县", "520322"], ["绥阳县", "520323"], ["正安县", "520324"], ["道真仡佬族苗族自治县", "520325"], ["务川仡佬族苗族自治县", "520326"], ["凤冈县", "520327"], ["湄潭县", "520328"], ["余庆县", "520329"], ["习水县", "520330"], ["赤水市", "520381"], ["仁怀市", "520382"]],
        "520400": [["安顺市", "520400"], ["市辖区", "520401"], ["西秀区", "520402"], ["平坝县", "520421"], ["普定县", "520422"], ["镇宁布依族苗族自治县", "520423"], ["关岭布依族苗族自治县", "520424"], ["紫云苗族布依族自治县", "520425"]],
        "522200": [["铜仁地区", "522200"], ["铜仁市", "522201"], ["江口县", "522222"], ["玉屏侗族自治县", "522223"], ["石阡县", "522224"], ["思南县", "522225"], ["印江土家族苗族自治县", "522226"], ["德江县", "522227"], ["沿河土家族自治县", "522228"], ["松桃苗族自治县", "522229"], ["万山特区", "522230"]],
        "522300": [["黔西南布依族苗族自治州", "522300"], ["兴义市", "522301"], ["兴仁县", "522322"], ["普安县", "522323"], ["晴隆县", "522324"], ["贞丰县", "522325"], ["望谟县", "522326"], ["册亨县", "522327"], ["安龙县", "522328"]],
        "522400": [["毕节地区", "522400"], ["毕节市", "522401"], ["大方县", "522422"], ["黔西县", "522423"], ["金沙县", "522424"], ["织金县", "522425"], ["纳雍县", "522426"], ["威宁彝族回族苗族自治县", "522427"], ["赫章县", "522428"]],
        "522600": [["黔东南苗族侗族自治州", "522600"], ["凯里市", "522601"], ["黄平县", "522622"], ["施秉县", "522623"], ["三穗县", "522624"], ["镇远县", "522625"], ["岑巩县", "522626"], ["天柱县", "522627"], ["锦屏县", "522628"], ["剑河县", "522629"], ["台江县", "522630"], ["黎平县", "522631"], ["榕江县", "522632"], ["从江县", "522633"], ["雷山县", "522634"], ["麻江县", "522635"], ["丹寨县", "522636"]],
        "522700": [["黔南布依族苗族自治州", "522700"], ["都匀市", "522701"], ["福泉市", "522702"], ["荔波县", "522722"], ["贵定县", "522723"], ["瓮安县", "522725"], ["独山县", "522726"], ["平塘县", "522727"], ["罗甸县", "522728"], ["长顺县", "522729"], ["龙里县", "522730"], ["惠水县", "522731"], ["三都水族自治县", "522732"]],
        "530100": [["昆明市", "530100"], ["市辖区", "530101"], ["五华区", "530102"], ["盘龙区", "530103"], ["官渡区", "530111"], ["西山区", "530112"], ["东川区", "530113"], ["呈贡县", "530121"], ["晋宁县", "530122"], ["富民县", "530124"], ["宜良县", "530125"], ["石林彝族自治县", "530126"], ["嵩明县", "530127"], ["禄劝彝族苗族自治县", "530128"], ["寻甸回族彝族自治县", "530129"], ["安宁市", "530181"]],
        "530300": [["曲靖市", "530300"], ["市辖区", "530301"], ["麒麟区", "530302"], ["马龙县", "530321"], ["陆良县", "530322"], ["师宗县", "530323"], ["罗平县", "530324"], ["富源县", "530325"], ["会泽县", "530326"], ["沾益县", "530328"], ["宣威市", "530381"]],
        "530400": [["玉溪市", "530400"], ["市辖区", "530401"], ["红塔区", "530402"], ["江川县", "530421"], ["澄江县", "530422"], ["通海县", "530423"], ["华宁县", "530424"], ["易门县", "530425"], ["峨山彝族自治县", "530426"], ["新平彝族傣族自治县", "530427"], ["元江哈尼族彝族傣族自治县", "530428"]],
        "530500": [["保山市", "530500"], ["市辖区", "530501"], ["隆阳区", "530502"], ["施甸县", "530521"], ["腾冲县", "530522"], ["龙陵县", "530523"], ["昌宁县", "530524"]],
        "530600": [["昭通市", "530600"], ["市辖区", "530601"], ["昭阳区", "530602"], ["鲁甸县", "530621"], ["巧家县", "530622"], ["盐津县", "530623"], ["大关县", "530624"], ["永善县", "530625"], ["绥江县", "530626"], ["镇雄县", "530627"], ["彝良县", "530628"], ["威信县", "530629"], ["水富县", "530630"]],
        "530700": [["丽江市", "530700"], ["市辖区", "530701"], ["古城区", "530702"], ["玉龙纳西族自治县", "530721"], ["永胜县", "530722"], ["华坪县", "530723"], ["宁蒗彝族自治县", "530724"]],
        "532300": [["楚雄彝族自治州", "532300"], ["楚雄市", "532301"], ["双柏县", "532322"], ["牟定县", "532323"], ["南华县", "532324"], ["姚安县", "532325"], ["大姚县", "532326"], ["永仁县", "532327"], ["元谋县", "532328"], ["武定县", "532329"], ["禄丰县", "532331"]],
        "532500": [["红河哈尼族彝族自治州", "532500"], ["个旧市", "532501"], ["开远市", "532502"], ["蒙自县", "532522"], ["屏边苗族自治县", "532523"], ["建水县", "532524"], ["石屏县", "532525"], ["弥勒县", "532526"], ["泸西县", "532527"], ["元阳县", "532528"], ["红河县", "532529"], ["金平苗族瑶族傣族自治县", "532530"], ["绿春县", "532531"], ["河口瑶族自治县", "532532"]],
        "532600": [["文山壮族苗族自治州", "532600"], ["文山县", "532621"], ["砚山县", "532622"], ["西畴县", "532623"], ["麻栗坡县", "532624"], ["马关县", "532625"], ["丘北县", "532626"], ["广南县", "532627"], ["富宁县", "532628"]],
        "532700": [["思茅地区", "532700"], ["思茅市", "532701"], ["普洱哈尼族彝族自治县", "532722"], ["墨江哈尼族自治县", "532723"], ["景东彝族自治县", "532724"], ["景谷傣族彝族自治县", "532725"], ["镇沅彝族哈尼族拉祜族自治县", "532726"], ["江城哈尼族彝族自治县", "532727"], ["孟连傣族拉祜族佤族自治县", "532728"], ["澜沧拉祜族自治县", "532729"], ["西盟佤族自治县", "532730"]],
        "532800": [["西双版纳傣族自治州", "532800"], ["景洪市", "532801"], ["勐海县", "532822"], ["勐腊县", "532823"]],
        "532900": [["大理白族自治州", "532900"], ["大理市", "532901"], ["漾濞彝族自治县", "532922"], ["祥云县", "532923"], ["宾川县", "532924"], ["弥渡县", "532925"], ["南涧彝族自治县", "532926"], ["巍山彝族回族自治县", "532927"], ["永平县", "532928"], ["云龙县", "532929"], ["洱源县", "532930"], ["剑川县", "532931"], ["鹤庆县", "532932"]],
        "533100": [["德宏傣族景颇族自治州", "533100"], ["瑞丽市", "533102"], ["潞西市", "533103"], ["梁河县", "533122"], ["盈江县", "533123"], ["陇川县", "533124"]],
        "533300": [["怒江傈僳族自治州", "533300"], ["泸水县", "533321"], ["福贡县", "533323"], ["贡山独龙族怒族自治县", "533324"], ["兰坪白族普米族自治县", "533325"]],
        "533400": [["迪庆藏族自治州", "533400"], ["香格里拉县", "533421"], ["德钦县", "533422"], ["维西傈僳族自治县", "533423"]],
        "533500": [["临沧地区", "533500"], ["临沧县", "533521"], ["凤庆县", "533522"], ["云县", "533523"], ["永德县", "533524"], ["镇康县", "533525"], ["双江拉祜族佤族布朗族傣族自治县", "533526"], ["耿马傣族佤族自治县", "533527"], ["沧源佤族自治县", "533528"]],
        "540100": [["拉萨市", "540100"], ["市辖区", "540101"], ["城关区", "540102"], ["林周县", "540121"], ["当雄县", "540122"], ["尼木县", "540123"], ["曲水县", "540124"], ["堆龙德庆县", "540125"], ["达孜县", "540126"], ["墨竹工卡县", "540127"]],
        "542100": [["昌都地区", "542100"], ["昌都县", "542121"], ["江达县", "542122"], ["贡觉县", "542123"], ["类乌齐县", "542124"], ["丁青县", "542125"], ["察雅县", "542126"], ["八宿县", "542127"], ["左贡县", "542128"], ["芒康县", "542129"], ["洛隆县", "542132"], ["边坝县", "542133"]],
        "542200": [["山南地区", "542200"], ["乃东县", "542221"], ["扎囊县", "542222"], ["贡嘎县", "542223"], ["桑日县", "542224"], ["琼结县", "542225"], ["曲松县", "542226"], ["措美县", "542227"], ["洛扎县", "542228"], ["加查县", "542229"], ["隆子县", "542231"], ["错那县", "542232"], ["浪卡子县", "542233"]],
        "542300": [["日喀则地区", "542300"], ["日喀则市", "542301"], ["南木林县", "542322"], ["江孜县", "542323"], ["定日县", "542324"], ["萨迦县", "542325"], ["拉孜县", "542326"], ["昂仁县", "542327"], ["谢通门县", "542328"], ["白朗县", "542329"], ["仁布县", "542330"], ["康马县", "542331"], ["定结县", "542332"], ["仲巴县", "542333"], ["亚东县", "542334"], ["吉隆县", "542335"], ["聂拉木县", "542336"], ["萨嘎县", "542337"], ["岗巴县", "542338"]],
        "542400": [["那曲地区", "542400"], ["那曲县", "542421"], ["嘉黎县", "542422"], ["比如县", "542423"], ["聂荣县", "542424"], ["安多县", "542425"], ["申扎县", "542426"], ["索县", "542427"], ["班戈县", "542428"], ["巴青县", "542429"], ["尼玛县", "542430"]],
        "542500": [["阿里地区", "542500"], ["普兰县", "542521"], ["札达县", "542522"], ["噶尔县", "542523"], ["日土县", "542524"], ["革吉县", "542525"], ["改则县", "542526"], ["措勤县", "542527"]],
        "542600": [["林芝地区", "542600"], ["林芝县", "542621"], ["工布江达县", "542622"], ["米林县", "542623"], ["墨脱县", "542624"], ["波密县", "542625"], ["察隅县", "542626"], ["朗县", "542627"]],
        "610100": [["西安市", "610100"], ["市辖区", "610101"], ["新城区", "610102"], ["碑林区", "610103"], ["莲湖区", "610104"], ["灞桥区", "610111"], ["未央区", "610112"], ["雁塔区", "610113"], ["阎良区", "610114"], ["临潼区", "610115"], ["长安区", "610116"], ["蓝田县", "610122"], ["周至县", "610124"], ["户县", "610125"], ["高陵县", "610126"]],
        "610200": [["铜川市", "610200"], ["市辖区", "610201"], ["王益区", "610202"], ["印台区", "610203"], ["耀州区", "610204"], ["宜君县", "610222"]],
        "610300": [["宝鸡市", "610300"], ["市辖区", "610301"], ["渭滨区", "610302"], ["金台区", "610303"], ["陈仓区", "610304"], ["凤翔县", "610322"], ["岐山县", "610323"], ["扶风县", "610324"], ["眉县", "610326"], ["陇县", "610327"], ["千阳县", "610328"], ["麟游县", "610329"], ["凤县", "610330"], ["太白县", "610331"]],
        "610400": [["咸阳市", "610400"], ["市辖区", "610401"], ["秦都区", "610402"], ["杨凌区", "610403"], ["渭城区", "610404"], ["三原县", "610422"], ["泾阳县", "610423"], ["乾县", "610424"], ["礼泉县", "610425"], ["永寿县", "610426"], ["彬县", "610427"], ["长武县", "610428"], ["旬邑县", "610429"], ["淳化县", "610430"], ["武功县", "610431"], ["兴平市", "610481"]],
        "610500": [["渭南市", "610500"], ["市辖区", "610501"], ["临渭区", "610502"], ["华县", "610521"], ["潼关县", "610522"], ["大荔县", "610523"], ["合阳县", "610524"], ["澄城县", "610525"], ["蒲城县", "610526"], ["白水县", "610527"], ["富平县", "610528"], ["韩城市", "610581"], ["华阴市", "610582"]],
        "610600": [["延安市", "610600"], ["市辖区", "610601"], ["宝塔区", "610602"], ["延长县", "610621"], ["延川县", "610622"], ["子长县", "610623"], ["安塞县", "610624"], ["志丹县", "610625"], ["吴旗县", "610626"], ["甘泉县", "610627"], ["富县", "610628"], ["洛川县", "610629"], ["宜川县", "610630"], ["黄龙县", "610631"], ["黄陵县", "610632"]],
        "610700": [["汉中市", "610700"], ["市辖区", "610701"], ["汉台区", "610702"], ["南郑县", "610721"], ["城固县", "610722"], ["洋县", "610723"], ["西乡县", "610724"], ["勉县", "610725"], ["宁强县", "610726"], ["略阳县", "610727"], ["镇巴县", "610728"], ["留坝县", "610729"], ["佛坪县", "610730"]],
        "610800": [["榆林市", "610800"], ["市辖区", "610801"], ["榆阳区", "610802"], ["神木县", "610821"], ["府谷县", "610822"], ["横山县", "610823"], ["靖边县", "610824"], ["定边县", "610825"], ["绥德县", "610826"], ["米脂县", "610827"], ["佳县", "610828"], ["吴堡县", "610829"], ["清涧县", "610830"], ["子洲县", "610831"]],
        "610900": [["安康市", "610900"], ["市辖区", "610901"], ["汉滨区", "610902"], ["汉阴县", "610921"], ["石泉县", "610922"], ["宁陕县", "610923"], ["紫阳县", "610924"], ["岚皋县", "610925"], ["平利县", "610926"], ["镇坪县", "610927"], ["旬阳县", "610928"], ["白河县", "610929"]],
        "611000": [["商洛市", "611000"], ["市辖区", "611001"], ["商州区", "611002"], ["洛南县", "611021"], ["丹凤县", "611022"], ["商南县", "611023"], ["山阳县", "611024"], ["镇安县", "611025"], ["柞水县", "611026"]],
        "620100": [["兰州市", "620100"], ["市辖区", "620101"], ["城关区", "620102"], ["七里河区", "620103"], ["西固区", "620104"], ["安宁区", "620105"], ["红古区", "620111"], ["永登县", "620121"], ["皋兰县", "620122"], ["榆中县", "620123"]],
        "620200": [["嘉峪关市", "620200"], ["市辖区", "620201"]],
        "620300": [["金昌市", "620300"], ["市辖区", "620301"], ["金川区", "620302"], ["永昌县", "620321"]],
        "620400": [["白银市", "620400"], ["市辖区", "620401"], ["白银区", "620402"], ["平川区", "620403"], ["靖远县", "620421"], ["会宁县", "620422"], ["景泰县", "620423"]],
        "620500": [["天水市", "620500"], ["市辖区", "620501"], ["秦城区", "620502"], ["北道区", "620503"], ["清水县", "620521"], ["秦安县", "620522"], ["甘谷县", "620523"], ["武山县", "620524"], ["张家川回族自治县", "620525"]],
        "620600": [["武威市", "620600"], ["市辖区", "620601"], ["凉州区", "620602"], ["民勤县", "620621"], ["古浪县", "620622"], ["天祝藏族自治县", "620623"]],
        "620700": [["张掖市", "620700"], ["市辖区", "620701"], ["甘州区", "620702"], ["肃南裕固族自治县", "620721"], ["民乐县", "620722"], ["临泽县", "620723"], ["高台县", "620724"], ["山丹县", "620725"]],
        "620800": [["平凉市", "620800"], ["市辖区", "620801"], ["崆峒区", "620802"], ["泾川县", "620821"], ["灵台县", "620822"], ["崇信县", "620823"], ["华亭县", "620824"], ["庄浪县", "620825"], ["静宁县", "620826"]],
        "620900": [["酒泉市", "620900"], ["市辖区", "620901"], ["肃州区", "620902"], ["金塔县", "620921"], ["安西县", "620922"], ["肃北蒙古族自治县", "620923"], ["阿克塞哈萨克族自治县", "620924"], ["玉门市", "620981"], ["敦煌市", "620982"]],
        "621000": [["庆阳市", "621000"], ["市辖区", "621001"], ["西峰区", "621002"], ["庆城县", "621021"], ["环县", "621022"], ["华池县", "621023"], ["合水县", "621024"], ["正宁县", "621025"], ["宁县", "621026"], ["镇原县", "621027"]],
        "621100": [["定西市", "621100"], ["市辖区", "621101"], ["安定区", "621102"], ["通渭县", "621121"], ["陇西县", "621122"], ["渭源县", "621123"], ["临洮县", "621124"], ["漳县", "621125"], ["岷县", "621126"]],
        "622600": [["陇南地区", "622600"], ["武都县", "622621"], ["宕昌县", "622623"], ["成县", "622624"], ["康县", "622625"], ["文县", "622626"], ["西和县", "622627"], ["礼县", "622628"], ["两当县", "622629"], ["徽县", "622630"]],
        "622900": [["临夏回族自治州", "622900"], ["临夏市", "622901"], ["临夏县", "622921"], ["康乐县", "622922"], ["永靖县", "622923"], ["广河县", "622924"], ["和政县", "622925"], ["东乡族自治县", "622926"], ["积石山保安族东乡族撒拉族自治县", "622927"]],
        "623000": [["甘南藏族自治州", "623000"], ["合作市", "623001"], ["临潭县", "623021"], ["卓尼县", "623022"], ["舟曲县", "623023"], ["迭部县", "623024"], ["玛曲县", "623025"], ["碌曲县", "623026"], ["夏河县", "623027"]],
        "630100": [["西宁市", "630100"], ["市辖区", "630101"], ["城东区", "630102"], ["城中区", "630103"], ["城西区", "630104"], ["城北区", "630105"], ["大通回族土族自治县", "630121"], ["湟中县", "630122"], ["湟源县", "630123"]],
        "632100": [["海东地区", "632100"], ["平安县", "632121"], ["民和回族土族自治县", "632122"], ["乐都县", "632123"], ["互助土族自治县", "632126"], ["化隆回族自治县", "632127"], ["循化撒拉族自治县", "632128"]],
        "632200": [["海北藏族自治州", "632200"], ["门源回族自治县", "632221"], ["祁连县", "632222"], ["海晏县", "632223"], ["刚察县", "632224"]],
        "632300": [["黄南藏族自治州", "632300"], ["同仁县", "632321"], ["尖扎县", "632322"], ["泽库县", "632323"], ["河南蒙古族自治县", "632324"]],
        "632500": [["海南藏族自治州", "632500"], ["共和县", "632521"], ["同德县", "632522"], ["贵德县", "632523"], ["兴海县", "632524"], ["贵南县", "632525"]],
        "632600": [["果洛藏族自治州", "632600"], ["玛沁县", "632621"], ["班玛县", "632622"], ["甘德县", "632623"], ["达日县", "632624"], ["久治县", "632625"], ["玛多县", "632626"]],
        "632700": [["玉树藏族自治州", "632700"], ["玉树县", "632721"], ["杂多县", "632722"], ["称多县", "632723"], ["治多县", "632724"], ["囊谦县", "632725"], ["曲麻莱县", "632726"]],
        "632800": [["海西蒙古族藏族自治州", "632800"], ["格尔木市", "632801"], ["德令哈市", "632802"], ["乌兰县", "632821"], ["都兰县", "632822"], ["天峻县", "632823"]],
        "640100": [["银川市", "640100"], ["市辖区", "640101"], ["兴庆区", "640104"], ["西夏区", "640105"], ["金凤区", "640106"], ["永宁县", "640121"], ["贺兰县", "640122"], ["灵武市", "640181"]],
        "640200": [["石嘴山市", "640200"], ["市辖区", "640201"], ["大武口区", "640202"], ["石嘴山区", "640203"], ["平罗县", "640221"], ["陶乐县", "640222"], ["惠农县", "640223"]],
        "640300": [["吴忠市", "640300"], ["市辖区", "640301"], ["利通区", "640302"], ["中卫县", "640321"], ["中宁县", "640322"], ["盐池县", "640323"], ["同心县", "640324"], ["青铜峡市", "640381"]],
        "640400": [["固原市", "640400"], ["市辖区", "640401"], ["原州区", "640402"], ["海原县", "640421"], ["西吉县", "640422"], ["隆德县", "640423"], ["泾源县", "640424"], ["彭阳县", "640425"]],
        "650100": [["乌鲁木齐市", "650100"], ["市辖区", "650101"], ["天山区", "650102"], ["沙依巴克区", "650103"], ["新市区", "650104"], ["水磨沟区", "650105"], ["头屯河区", "650106"], ["达坂城区", "650107"], ["东山区", "650108"], ["乌鲁木齐县", "650121"]],
        "650200": [["克拉玛依市", "650200"], ["市辖区", "650201"], ["独山子区", "650202"], ["克拉玛依区", "650203"], ["白碱滩区", "650204"], ["乌尔禾区", "650205"]],
        "652100": [["吐鲁番地区", "652100"], ["吐鲁番市", "652101"], ["鄯善县", "652122"], ["托克逊县", "652123"]],
        "652200": [["哈密地区", "652200"], ["哈密市", "652201"], ["巴里坤哈萨克自治县", "652222"], ["伊吾县", "652223"]],
        "652300": [["昌吉回族自治州", "652300"], ["昌吉市", "652301"], ["阜康市", "652302"], ["米泉市", "652303"], ["呼图壁县", "652323"], ["玛纳斯县", "652324"], ["奇台县", "652325"], ["吉木萨尔县", "652327"], ["木垒哈萨克自治县", "652328"]],
        "652700": [["博尔塔拉蒙古自治州", "652700"], ["博乐市", "652701"], ["精河县", "652722"], ["温泉县", "652723"]],
        "652800": [["巴音郭楞蒙古自治州", "652800"], ["库尔勒市", "652801"], ["轮台县", "652822"], ["尉犁县", "652823"], ["若羌县", "652824"], ["且末县", "652825"], ["焉耆回族自治县", "652826"], ["和静县", "652827"], ["和硕县", "652828"], ["博湖县", "652829"]],
        "652900": [["阿克苏地区", "652900"], ["阿克苏市", "652901"], ["温宿县", "652922"], ["库车县", "652923"], ["沙雅县", "652924"], ["新和县", "652925"], ["拜城县", "652926"], ["乌什县", "652927"], ["阿瓦提县", "652928"], ["柯坪县", "652929"]],
        "653000": [["克孜勒苏柯尔克孜自治州", "653000"], ["阿图什市", "653001"], ["阿克陶县", "653022"], ["阿合奇县", "653023"], ["乌恰县", "653024"]],
        "653100": [["喀什地区", "653100"], ["喀什市", "653101"], ["疏附县", "653121"], ["疏勒县", "653122"], ["英吉沙县", "653123"], ["泽普县", "653124"], ["莎车县", "653125"], ["叶城县", "653126"], ["麦盖提县", "653127"], ["岳普湖县", "653128"], ["伽师县", "653129"], ["巴楚县", "653130"], ["塔什库尔干塔吉克自治县", "653131"]],
        "653200": [["和田地区", "653200"], ["和田市", "653201"], ["和田县", "653221"], ["墨玉县", "653222"], ["皮山县", "653223"], ["洛浦县", "653224"], ["策勒县", "653225"], ["于田县", "653226"], ["民丰县", "653227"]],
        "654000": [["伊犁哈萨克自治州", "654000"], ["伊宁市", "654002"], ["奎屯市", "654003"], ["伊宁县", "654021"], ["察布查尔锡伯自治县", "654022"], ["霍城县", "654023"], ["巩留县", "654024"], ["新源县", "654025"], ["昭苏县", "654026"], ["特克斯县", "654027"], ["尼勒克县", "654028"]],
        "654200": [["塔城地区", "654200"], ["塔城市", "654201"], ["乌苏市", "654202"], ["额敏县", "654221"], ["沙湾县", "654223"], ["托里县", "654224"], ["裕民县", "654225"], ["和布克赛尔蒙古自治县", "654226"]],
        "654300": [["阿勒泰地区", "654300"], ["阿勒泰市", "654301"], ["布尔津县", "654321"], ["富蕴县", "654322"], ["福海县", "654323"], ["哈巴河县", "654324"], ["青河县", "654325"], ["吉木乃县", "654326"]],
        "659000": [["省直辖行政单位", "659000"], ["石河子市", "659001"], ["阿拉尔市", "659002"], ["图木舒克市", "659003"], ["五家渠市", "659004"]],
        "430100": [["长沙市", "430100"], ["市辖区", "430101"], ["芙蓉区", "430102"], ["天心区", "430103"], ["岳麓区", "430104"], ["开福区", "430105"], ["雨花区", "430111"], ["长沙县", "430121"], ["望城县", "430122"], ["宁乡县", "430124"], ["浏阳市", "430181"]],
        "430200": [["株洲市", "430200"], ["市辖区", "430201"], ["荷塘区", "430202"], ["芦淞区", "430203"], ["石峰区", "430204"], ["天元区", "430211"], ["株洲县", "430221"], ["攸县", "430223"], ["茶陵县", "430224"], ["炎陵县", "430225"], ["醴陵市", "430281"]],
        "430300": [["湘潭市", "430300"], ["市辖区", "430301"], ["雨湖区", "430302"], ["岳塘区", "430304"], ["湘潭县", "430321"], ["湘乡市", "430381"], ["韶山市", "430382"]],
        "430400": [["衡阳市", "430400"], ["市辖区", "430401"], ["珠晖区", "430405"], ["雁峰区", "430406"], ["石鼓区", "430407"], ["蒸湘区", "430408"], ["南岳区", "430412"], ["衡阳县", "430421"], ["衡南县", "430422"], ["衡山县", "430423"], ["衡东县", "430424"], ["祁东县", "430426"], ["耒阳市", "430481"], ["常宁市", "430482"]],
        "430500": [["邵阳市", "430500"], ["市辖区", "430501"], ["双清区", "430502"], ["大祥区", "430503"], ["北塔区", "430511"], ["邵东县", "430521"], ["新邵县", "430522"], ["邵阳县", "430523"], ["隆回县", "430524"], ["洞口县", "430525"], ["绥宁县", "430527"], ["新宁县", "430528"], ["城步苗族自治县", "430529"], ["武冈市", "430581"]],
        "430600": [["岳阳市", "430600"], ["市辖区", "430601"], ["岳阳楼区", "430602"], ["云溪区", "430603"], ["君山区", "430611"], ["岳阳县", "430621"], ["华容县", "430623"], ["湘阴县", "430624"], ["平江县", "430626"], ["汨罗市", "430681"], ["临湘市", "430682"]],
        "430700": [["常德市", "430700"], ["市辖区", "430701"], ["武陵区", "430702"], ["鼎城区", "430703"], ["安乡县", "430721"], ["汉寿县", "430722"], ["澧县", "430723"], ["临澧县", "430724"], ["桃源县", "430725"], ["石门县", "430726"], ["津市市", "430781"]],
        "430800": [["张家界市", "430800"], ["市辖区", "430801"], ["永定区", "430802"], ["武陵源区", "430811"], ["慈利县", "430821"], ["桑植县", "430822"]],
        "430900": [["益阳市", "430900"], ["市辖区", "430901"], ["资阳区", "430902"], ["赫山区", "430903"], ["南县", "430921"], ["桃江县", "430922"], ["安化县", "430923"], ["沅江市", "430981"]],
        "431000": [["郴州市", "431000"], ["市辖区", "431001"], ["北湖区", "431002"], ["苏仙区", "431003"], ["桂阳县", "431021"], ["宜章县", "431022"], ["永兴县", "431023"], ["嘉禾县", "431024"], ["临武县", "431025"], ["汝城县", "431026"], ["桂东县", "431027"], ["安仁县", "431028"], ["资兴市", "431081"]],
        "431100": [["永州市", "431100"], ["市辖区", "431101"], ["芝山区", "431102"], ["冷水滩区", "431103"], ["祁阳县", "431121"], ["东安县", "431122"], ["双牌县", "431123"], ["道县", "431124"], ["江永县", "431125"], ["宁远县", "431126"], ["蓝山县", "431127"], ["新田县", "431128"], ["江华瑶族自治县", "431129"]],
        "431200": [["怀化市", "431200"], ["市辖区", "431201"], ["鹤城区", "431202"], ["中方县", "431221"], ["沅陵县", "431222"], ["辰溪县", "431223"], ["溆浦县", "431224"], ["会同县", "431225"], ["麻阳苗族自治县", "431226"], ["新晃侗族自治县", "431227"], ["芷江侗族自治县", "431228"], ["靖州苗族侗族自治县", "431229"], ["通道侗族自治县", "431230"], ["洪江市", "431281"]],
        "431300": [["娄底市", "431300"], ["市辖区", "431301"], ["娄星区", "431302"], ["双峰县", "431321"], ["新化县", "431322"], ["冷水江市", "431381"], ["涟源市", "431382"]],
        "433100": [["湘西土家族苗族自治州", "433100"], ["吉首市", "433101"], ["泸溪县", "433122"], ["凤凰县", "433123"], ["花垣县", "433124"], ["保靖县", "433125"], ["古丈县", "433126"], ["永顺县", "433127"], ["龙山县", "433130"]],
        "440100": [["广州市", "440100"], ["市辖区", "440101"], ["东山区", "440102"], ["荔湾区", "440103"], ["越秀区", "440104"], ["海珠区", "440105"], ["天河区", "440106"], ["芳村区", "440107"], ["白云区", "440111"], ["黄埔区", "440112"], ["番禺区", "440113"], ["花都区", "440114"], ["增城市", "440183"], ["从化市", "440184"]],
        "440200": [["韶关市", "440200"], ["市辖区", "440201"], ["北江区", "440202"], ["武江区", "440203"], ["浈江区", "440204"], ["曲江县", "440221"], ["始兴县", "440222"], ["仁化县", "440224"], ["翁源县", "440229"], ["乳源瑶族自治县", "440232"], ["新丰县", "440233"], ["乐昌市", "440281"], ["南雄市", "440282"]],
        "440300": [["深圳市", "440300"], ["市辖区", "440301"], ["罗湖区", "440303"], ["福田区", "440304"], ["南山区", "440305"], ["宝安区", "440306"], ["龙岗区", "440307"], ["盐田区", "440308"]],
        "440400": [["珠海市", "440400"], ["市辖区", "440401"], ["香洲区", "440402"], ["斗门区", "440403"], ["金湾区", "440404"]],
        "440500": [["汕头市", "440500"], ["市辖区", "440501"], ["龙湖区", "440507"], ["金平区", "440511"], ["濠江区", "440512"], ["潮阳区", "440513"], ["潮南区", "440514"], ["澄海区", "440515"], ["南澳县", "440523"]],
        "440600": [["佛山市", "440600"], ["市辖区", "440601"], ["禅城区", "440604"], ["南海区", "440605"], ["顺德区", "440606"], ["三水区", "440607"], ["高明区", "440608"]],
        "440700": [["江门市", "440700"], ["市辖区", "440701"], ["蓬江区", "440703"], ["江海区", "440704"], ["新会区", "440705"], ["台山市", "440781"], ["开平市", "440783"], ["鹤山市", "440784"], ["恩平市", "440785"]],
        "440800": [["湛江市", "440800"], ["市辖区", "440801"], ["赤坎区", "440802"], ["霞山区", "440803"], ["坡头区", "440804"], ["麻章区", "440811"], ["遂溪县", "440823"], ["徐闻县", "440825"], ["廉江市", "440881"], ["雷州市", "440882"], ["吴川市", "440883"]],
        "440900": [["茂名市", "440900"], ["市辖区", "440901"], ["茂南区", "440902"], ["茂港区", "440903"], ["电白县", "440923"], ["高州市", "440981"], ["化州市", "440982"], ["信宜市", "440983"]],
        "441200": [["肇庆市", "441200"], ["市辖区", "441201"], ["端州区", "441202"], ["鼎湖区", "441203"], ["广宁县", "441223"], ["怀集县", "441224"], ["封开县", "441225"], ["德庆县", "441226"], ["高要市", "441283"], ["四会市", "441284"]],
        "441300": [["惠州市", "441300"], ["市辖区", "441301"], ["惠城区", "441302"], ["惠阳区", "441303"], ["博罗县", "441322"], ["惠东县", "441323"], ["龙门县", "441324"]],
        "441400": [["梅州市", "441400"], ["市辖区", "441401"], ["梅江区", "441402"], ["梅县", "441421"], ["大埔县", "441422"], ["丰顺县", "441423"], ["五华县", "441424"], ["平远县", "441426"], ["蕉岭县", "441427"], ["兴宁市", "441481"]],
        "441500": [["汕尾市", "441500"], ["市辖区", "441501"], ["城区", "441502"], ["海丰县", "441521"], ["陆河县", "441523"], ["陆丰市", "441581"]],
        "441600": [["河源市", "441600"], ["市辖区", "441601"], ["源城区", "441602"], ["紫金县", "441621"], ["龙川县", "441622"], ["连平县", "441623"], ["和平县", "441624"], ["东源县", "441625"]],
        "441700": [["阳江市", "441700"], ["市辖区", "441701"], ["江城区", "441702"], ["阳西县", "441721"], ["阳东县", "441723"], ["阳春市", "441781"]],
        "441800": [["清远市", "441800"], ["市辖区", "441801"], ["清城区", "441802"], ["佛冈县", "441821"], ["阳山县", "441823"], ["连山壮族瑶族自治县", "441825"], ["连南瑶族自治县", "441826"], ["清新县", "441827"], ["英德市", "441881"], ["连州市", "441882"]],
        "441900": [["东莞市", "441900"]],
        "442000": [["中山市", "442000"]],
        "445100": [["潮州市", "445100"], ["市辖区", "445101"], ["湘桥区", "445102"], ["潮安县", "445121"], ["饶平县", "445122"]],
        "445200": [["揭阳市", "445200"], ["市辖区", "445201"], ["榕城区", "445202"], ["揭东县", "445221"], ["揭西县", "445222"], ["惠来县", "445224"], ["普宁市", "445281"]],
        "445300": [["云浮市", "445300"], ["市辖区", "445301"], ["云城区", "445302"], ["新兴县", "445321"], ["郁南县", "445322"], ["云安县", "445323"], ["罗定市", "445381"]],
        "450100": [["南宁市", "450100"], ["市辖区", "450101"], ["兴宁区", "450102"], ["新城区", "450103"], ["城北区", "450104"], ["江南区", "450105"], ["永新区", "450106"], ["邕宁县", "450121"], ["武鸣县", "450122"], ["隆安县", "450123"], ["马山县", "450124"], ["上林县", "450125"], ["宾阳县", "450126"], ["横县", "450127"]],
        "450200": [["柳州市", "450200"], ["市辖区", "450201"], ["城中区", "450202"], ["鱼峰区", "450203"], ["柳南区", "450204"], ["柳北区", "450205"], ["柳江县", "450221"], ["柳城县", "450222"], ["鹿寨县", "450223"], ["融安县", "450224"], ["融水苗族自治县", "450225"], ["三江侗族自治县", "450226"]],
        "450300": [["桂林市", "450300"], ["市辖区", "450301"], ["秀峰区", "450302"], ["叠彩区", "450303"], ["象山区", "450304"], ["七星区", "450305"], ["雁山区", "450311"], ["阳朔县", "450321"], ["临桂县", "450322"], ["灵川县", "450323"], ["全州县", "450324"], ["兴安县", "450325"], ["永福县", "450326"], ["灌阳县", "450327"], ["龙胜各族自治县", "450328"], ["资源县", "450329"], ["平乐县", "450330"], ["荔蒲县", "450331"], ["恭城瑶族自治县", "450332"]],
        "450400": [["梧州市", "450400"], ["市辖区", "450401"], ["万秀区", "450403"], ["蝶山区", "450404"], ["长洲区", "450405"], ["苍梧县", "450421"], ["藤县", "450422"], ["蒙山县", "450423"], ["岑溪市", "450481"]],
        "450500": [["北海市", "450500"], ["市辖区", "450501"], ["海城区", "450502"], ["银海区", "450503"], ["铁山港区", "450512"], ["合浦县", "450521"]],
        "450600": [["防城港市", "450600"], ["市辖区", "450601"], ["港口区", "450602"], ["防城区", "450603"], ["上思县", "450621"], ["东兴市", "450681"]],
        "450700": [["钦州市", "450700"], ["市辖区", "450701"], ["钦南区", "450702"], ["钦北区", "450703"], ["灵山县", "450721"], ["浦北县", "450722"]],
        "450800": [["贵港市", "450800"], ["市辖区", "450801"], ["港北区", "450802"], ["港南区", "450803"], ["覃塘区", "450804"], ["平南县", "450821"], ["桂平市", "450881"]],
        "450900": [["玉林市", "450900"], ["市辖区", "450901"], ["玉州区", "450902"], ["容县", "450921"], ["陆川县", "450922"], ["博白县", "450923"], ["兴业县", "450924"], ["北流市", "450981"]],
        "451000": [["百色市", "451000"], ["市辖区", "451001"], ["右江区", "451002"], ["田阳县", "451021"], ["田东县", "451022"], ["平果县", "451023"], ["德保县", "451024"], ["靖西县", "451025"], ["那坡县", "451026"], ["凌云县", "451027"], ["乐业县", "451028"], ["田林县", "451029"], ["西林县", "451030"], ["隆林各族自治县", "451031"]],
        "451100": [["贺州市", "451100"], ["市辖区", "451101"], ["八步区", "451102"], ["昭平县", "451121"], ["钟山县", "451122"], ["富川瑶族自治县", "451123"]],
        "451200": [["河池市", "451200"], ["市辖区", "451201"], ["金城江区", "451202"], ["南丹县", "451221"], ["天峨县", "451222"], ["凤山县", "451223"], ["东兰县", "451224"], ["罗城仫佬族自治县", "451225"], ["环江毛南族自治县", "451226"], ["巴马瑶族自治县", "451227"], ["都安瑶族自治县", "451228"], ["大化瑶族自治县", "451229"], ["宜州市", "451281"]],
        "451300": [["来宾市", "451300"], ["市辖区", "451301"], ["兴宾区", "451302"], ["忻城县", "451321"], ["象州县", "451322"], ["武宣县", "451323"], ["金秀瑶族自治县", "451324"], ["合山市", "451381"]],
        "451400": [["崇左市", "451400"], ["市辖区", "451401"], ["江洲区", "451402"], ["扶绥县", "451421"], ["宁明县", "451422"], ["龙州县", "451423"], ["大新县", "451424"], ["天等县", "451425"], ["凭祥市", "451481"]],
        "460100": [["海口市", "460100"], ["市辖区", "460101"], ["秀英区", "460105"], ["龙华区", "460106"], ["琼山区", "460107"], ["美兰区", "460108"]],
        "460200": [["三亚市", "460200"], ["市辖区", "460201"]],
        "469000": [["省直辖县级行政单位", "469000"], ["五指山市", "469001"], ["琼海市", "469002"], ["儋州市", "469003"], ["文昌市", "469005"], ["万宁市", "469006"], ["东方市", "469007"], ["定安县", "469025"], ["屯昌县", "469026"], ["澄迈县", "469027"], ["临高县", "469028"], ["白沙黎族自治县", "469030"], ["昌江黎族自治县", "469031"], ["乐东黎族自治县", "469033"], ["陵水黎族自治县", "469034"], ["保亭黎族苗族自治县", "469035"], ["琼中黎族苗族自治县", "469036"], ["西沙群岛", "469037"], ["南沙群岛", "469038"], ["中沙群岛的岛礁及其海域", "469039"]],
        "500100": [["市辖区", "500100"], ["万州区", "500101"], ["涪陵区", "500102"], ["渝中区", "500103"], ["大渡口区", "500104"], ["江北区", "500105"], ["沙坪坝区", "500106"], ["九龙坡区", "500107"], ["南岸区", "500108"], ["北碚区", "500109"], ["万盛区", "500110"], ["双桥区", "500111"], ["渝北区", "500112"], ["巴南区", "500113"], ["黔江区", "500114"], ["长寿区", "500115"]],
        "500200": [["县", "500200"], ["綦江县", "500222"], ["潼南县", "500223"], ["铜梁县", "500224"], ["大足县", "500225"], ["荣昌县", "500226"], ["璧山县", "500227"], ["梁平县", "500228"], ["城口县", "500229"], ["丰都县", "500230"], ["垫江县", "500231"], ["武隆县", "500232"], ["忠县", "500233"], ["开县", "500234"], ["云阳县", "500235"], ["奉节县", "500236"], ["巫山县", "500237"], ["巫溪县", "500238"], ["石柱土家族自治县", "500240"], ["秀山土家族苗族自治县", "500241"], ["酉阳土家族苗族自治县", "500242"], ["彭水苗族土家族自治县", "500243"]],
        "500300": [["市", "500300"], ["江津市", "500381"], ["合川市", "500382"], ["永川市", "500383"], ["南川市", "500384"]],
        "510100": [["成都市", "510100"], ["市辖区", "510101"], ["锦江区", "510104"], ["青羊区", "510105"], ["金牛区", "510106"], ["武侯区", "510107"], ["成华区", "510108"], ["龙泉驿区", "510112"], ["青白江区", "510113"], ["新都区", "510114"], ["金堂县", "510121"], ["双流县", "510122"], ["温江县", "510123"], ["郫县", "510124"], ["大邑县", "510129"], ["蒲江县", "510131"], ["新津县", "510132"], ["都江堰市", "510181"], ["彭州市", "510182"], ["邛崃市", "510183"], ["崇州市", "510184"]],
        "510300": [["自贡市", "510300"], ["市辖区", "510301"], ["自流井区", "510302"], ["贡井区", "510303"], ["大安区", "510304"], ["沿滩区", "510311"], ["荣县", "510321"], ["富顺县", "510322"]],
        "510400": [["攀枝花市", "510400"], ["市辖区", "510401"], ["东区", "510402"], ["西区", "510403"], ["仁和区", "510411"], ["米易县", "510421"], ["盐边县", "510422"]],
        "510500": [["泸州市", "510500"], ["市辖区", "510501"], ["江阳区", "510502"], ["纳溪区", "510503"], ["龙马潭区", "510504"], ["泸县", "510521"], ["合江县", "510522"], ["叙永县", "510524"], ["古蔺县", "510525"]],
        "510600": [["德阳市", "510600"], ["市辖区", "510601"], ["旌阳区", "510603"], ["中江县", "510623"], ["罗江县", "510626"], ["广汉市", "510681"], ["什邡市", "510682"], ["绵竹市", "510683"]],
        "510700": [["绵阳市", "510700"], ["市辖区", "510701"], ["涪城区", "510703"], ["游仙区", "510704"], ["三台县", "510722"], ["盐亭县", "510723"], ["安县", "510724"], ["梓潼县", "510725"], ["北川县", "510726"], ["平武县", "510727"], ["江油市", "510781"]],
        "510800": [["广元市", "510800"], ["市辖区", "510801"], ["市中区", "510802"], ["元坝区", "510811"], ["朝天区", "510812"], ["旺苍县", "510821"], ["青川县", "510822"], ["剑阁县", "510823"], ["苍溪县", "510824"]],
        "510900": [["遂宁市", "510900"], ["市辖区", "510901"], ["市中区", "510902"], ["蓬溪县", "510921"], ["射洪县", "510922"], ["大英县", "510923"]],
        "511000": [["内江市", "511000"], ["市辖区", "511001"], ["市中区", "511002"], ["东兴区", "511011"], ["威远县", "511024"], ["资中县", "511025"], ["隆昌县", "511028"]],
        "511100": [["乐山市", "511100"], ["市辖区", "511101"], ["市中区", "511102"], ["沙湾区", "511111"], ["五通桥区", "511112"], ["金口河区", "511113"], ["犍为县", "511123"], ["井研县", "511124"], ["夹江县", "511126"], ["沐川县", "511129"], ["峨边彝族自治县", "511132"], ["马边彝族自治县", "511133"], ["峨眉山市", "511181"]],
        "511300": [["南充市", "511300"], ["市辖区", "511301"], ["顺庆区", "511302"], ["高坪区", "511303"], ["嘉陵区", "511304"], ["南部县", "511321"], ["营山县", "511322"], ["蓬安县", "511323"], ["仪陇县", "511324"], ["西充县", "511325"], ["阆中市", "511381"]],
        "511400": [["眉山市", "511400"], ["市辖区", "511401"], ["东坡区", "511402"], ["仁寿县", "511421"], ["彭山县", "511422"], ["洪雅县", "511423"], ["丹棱县", "511424"], ["青神县", "511425"]],
        "511500": [["宜宾市", "511500"], ["市辖区", "511501"], ["翠屏区", "511502"], ["宜宾县", "511521"], ["南溪县", "511522"], ["江安县", "511523"], ["长宁县", "511524"], ["高县", "511525"], ["珙县", "511526"], ["筠连县", "511527"], ["兴文县", "511528"], ["屏山县", "511529"]],
        "511600": [["广安市", "511600"], ["市辖区", "511601"], ["广安区", "511602"], ["岳池县", "511621"], ["武胜县", "511622"], ["邻水县", "511623"], ["华莹市", "511681"]],
        "511700": [["达州市", "511700"], ["市辖区", "511701"], ["通川区", "511702"], ["达县", "511721"], ["宣汉县", "511722"], ["开江县", "511723"], ["大竹县", "511724"], ["渠县", "511725"], ["万源市", "511781"]],
        "511800": [["雅安市", "511800"], ["市辖区", "511801"], ["雨城区", "511802"], ["名山县", "511821"], ["荥经县", "511822"], ["汉源县", "511823"], ["石棉县", "511824"], ["天全县", "511825"], ["芦山县", "511826"], ["宝兴县", "511827"]],
        "511900": [["巴中市", "511900"], ["市辖区", "511901"], ["巴州区", "511902"], ["通江县", "511921"], ["南江县", "511922"], ["平昌县", "511923"]],
        "512000": [["资阳市", "512000"], ["市辖区", "512001"], ["雁江区", "512002"], ["安岳县", "512021"], ["乐至县", "512022"], ["简阳市", "512081"]],
        "513200": [["阿坝藏族羌族自治州", "513200"], ["汶川县", "513221"], ["理县", "513222"], ["茂县", "513223"], ["松潘县", "513224"], ["九寨沟县", "513225"], ["金川县", "513226"], ["小金县", "513227"], ["黑水县", "513228"], ["马尔康县", "513229"], ["壤塘县", "513230"], ["阿坝县", "513231"], ["若尔盖县", "513232"], ["红原县", "513233"]],
        "513300": [["甘孜藏族自治州", "513300"], ["康定县", "513321"], ["泸定县", "513322"], ["丹巴县", "513323"], ["九龙县", "513324"], ["雅江县", "513325"], ["道孚县", "513326"], ["炉霍县", "513327"], ["甘孜县", "513328"], ["新龙县", "513329"], ["德格县", "513330"], ["白玉县", "513331"], ["石渠县", "513332"], ["色达县", "513333"], ["理塘县", "513334"], ["巴塘县", "513335"], ["乡城县", "513336"], ["稻城县", "513337"], ["得荣县", "513338"]],
        "513400": [["凉山彝族自治州", "513400"], ["西昌市", "513401"], ["木里藏族自治县", "513422"], ["盐源县", "513423"], ["德昌县", "513424"], ["会理县", "513425"], ["会东县", "513426"], ["宁南县", "513427"], ["普格县", "513428"], ["布拖县", "513429"], ["金阳县", "513430"], ["昭觉县", "513431"], ["喜德县", "513432"], ["冕宁县", "513433"], ["越西县", "513434"], ["甘洛县", "513435"], ["美姑县", "513436"]]
    }
}

第二步:实现如下图几个实体类
Android(省市区三级联动Dialog)Demo_第2张图片

CitycodeUtil类文件:

package com.example.administrator.city;

import android.content.Context;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

/**
 * 
 * 城市代码
 * 
 * @author zd
 * 
 */
public class CitycodeUtil {

    private ArrayList province_list = new ArrayList();
    private ArrayList city_list = new ArrayList();
    private ArrayList couny_list = new ArrayList();
    public ArrayList province_list_code = new ArrayList();
    public ArrayList city_list_code = new ArrayList();
    public ArrayList couny_list_code = new ArrayList();
    /** 单例 */
    public static CitycodeUtil model;
    private Context context;

    private CitycodeUtil() {
    }

    public ArrayList getProvince_list_code() {
        return province_list_code;
    }

    public ArrayList getCity_list_code() {
        return city_list_code;
    }

    public void setCity_list_code(ArrayList city_list_code) {
        this.city_list_code = city_list_code;
    }

    public ArrayList getCouny_list_code() {
        return couny_list_code;
    }

    public void setCouny_list_code(ArrayList couny_list_code) {
        this.couny_list_code = couny_list_code;
    }

    public void setProvince_list_code(ArrayList province_list_code) {

        this.province_list_code = province_list_code;
    }

    /**
     * 获取单例
     * 
     * @return
     */
    public static CitycodeUtil getSingleton() {
        if (null == model) {
            model = new CitycodeUtil();
        }
        return model;
    }

    public ArrayList getProvince(List provice) {
        if (province_list_code.size() > 0) {
            province_list_code.clear();
        }
        if (province_list.size() > 0) {
            province_list.clear();
        }
        for (int i = 0; i < provice.size(); i++) {
            province_list.add(provice.get(i).getCity_name());
            province_list_code.add(provice.get(i).getId());
        }
        return province_list;

    }

    public ArrayList getCity(
            HashMap> cityHashMap, String provicecode) {
        if (city_list_code.size() > 0) {
            city_list_code.clear();
        }
        if (city_list.size() > 0) {
            city_list.clear();
        }
        List city = new ArrayList();
        city = cityHashMap.get(provicecode);
        System.out.println("city--->" + city.toString());
        for (int i = 0; i < city.size(); i++) {
            city_list.add(city.get(i).getCity_name());
            city_list_code.add(city.get(i).getId());
        }
        return city_list;

    }

    public ArrayList getCouny(
            HashMap> cityHashMap, String citycode) {
        System.out.println("citycode" + citycode);
        List couny = null;
        if (couny_list_code.size() > 0) {
            couny_list_code.clear();

        }
        if (couny_list.size() > 0) {
            couny_list.clear();
        }
        if (couny == null) {
            couny = new ArrayList();
        } else {
            couny.clear();
        }

        couny = cityHashMap.get(citycode);
        System.out.println("couny--->" + couny.toString());
        for (int i = 0; i < couny.size(); i++) {
            couny_list.add(couny.get(i).getCity_name());
            couny_list_code.add(couny.get(i).getId());
        }
        return couny_list;

    }
}

Cityinfo类文件:

package com.example.administrator.city;

import java.io.Serializable;

public class Cityinfo implements Serializable {

    private String id;
    private String city_name;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getCity_name() {
        return city_name;
    }

    public void setCity_name(String city_name) {
        this.city_name = city_name;
    }

    @Override
    public String toString() {
        return "Cityinfo [id=" + id + ", city_name=" + city_name + "]";
    }

}

CityPicker类文件:

package com.example.administrator.city;

import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Handler;
import android.os.Message;
import android.util.AttributeSet;
import android.util.Log;
import android.view.LayoutInflater;
import android.widget.LinearLayout;

import com.example.administrator.stock_sell_storage_app.R;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map.Entry;


/**
 * 城市Picker
 * 
 * @author
 * 
 */
public class CityPicker extends LinearLayout {
    /** 滑动控件 */
    private ScrollerNumberPicker provincePicker;
    private ScrollerNumberPicker cityPicker;
    private ScrollerNumberPicker counyPicker;
    /** 选择监听 */
    private OnSelectingListener onSelectingListener;
    /** 刷新界面 */
    private static final int REFRESH_VIEW = 0x001;
    /** 临时日期 */
    private int tempProvinceIndex = -1;
    private int temCityIndex = -1;
    private int tempCounyIndex = -1;
    private Context context;
    private List province_list = new ArrayList();
    private HashMap> city_map = new HashMap>();
    private HashMap> couny_map = new HashMap>();

    private CitycodeUtil citycodeUtil;
    private String city_code_string;
    private String city_string;

    public CityPicker(Context context, AttributeSet attrs) {
        super(context, attrs);
        this.context = context;
        getaddressinfo();
        // TODO Auto-generated constructor stub
    }

    public CityPicker(Context context) {
        super(context);
        this.context = context;
        getaddressinfo();
        // TODO Auto-generated constructor stub
    }

    // 获取城市信息
    private void getaddressinfo() {
        // TODO Auto-generated method stub
        // 读取城市信息string
        JSONParser parser = new JSONParser();
        String area_str = FileUtil.readAssets(context, "area.json");
        province_list = parser.getJSONParserResult(area_str, "area0");
        city_map = parser.getJSONParserResultArray(area_str, "area1");
        couny_map = parser.getJSONParserResultArray(area_str, "area2");
    }

    public static class JSONParser {
        public ArrayList province_list_code = new ArrayList();
        public ArrayList city_list_code = new ArrayList();

        public List getJSONParserResult(String JSONString, String key) {
            List list = new ArrayList();
            JsonObject result = new JsonParser().parse(JSONString)
                    .getAsJsonObject().getAsJsonObject(key);

            Iterator iterator = result.entrySet().iterator();
            while (iterator.hasNext()) {
                @SuppressWarnings("unchecked")
                Entry entry = (Entry) iterator
                        .next();
                Cityinfo cityinfo = new Cityinfo();

                cityinfo.setCity_name(entry.getValue().getAsString());
                cityinfo.setId(entry.getKey());
                province_list_code.add(entry.getKey());
                list.add(cityinfo);
            }
            System.out.println(province_list_code.size());
            return list;
        }

        public HashMap> getJSONParserResultArray(
                String JSONString, String key) {
            HashMap> hashMap = new HashMap>();
            JsonObject result = new JsonParser().parse(JSONString)
                    .getAsJsonObject().getAsJsonObject(key);

            Iterator iterator = result.entrySet().iterator();
            while (iterator.hasNext()) {
                @SuppressWarnings("unchecked")
                Entry entry = (Entry) iterator
                        .next();
                List list = new ArrayList();
                JsonArray array = entry.getValue().getAsJsonArray();
                for (int i = 0; i < array.size(); i++) {
                    Cityinfo cityinfo = new Cityinfo();
                    cityinfo.setCity_name(array.get(i).getAsJsonArray().get(0)
                            .getAsString());
                    cityinfo.setId(array.get(i).getAsJsonArray().get(1)
                            .getAsString());
                    city_list_code.add(array.get(i).getAsJsonArray().get(1)
                            .getAsString());
                    list.add(cityinfo);
                }
                hashMap.put(entry.getKey(), list);
            }
            return hashMap;
        }
    }

    @Override
    protected void onFinishInflate() {
        super.onFinishInflate();
        LayoutInflater.from(getContext()).inflate(R.layout.city_picker, this);
        citycodeUtil = CitycodeUtil.getSingleton();
        // 获取控件引用
        provincePicker = (ScrollerNumberPicker) findViewById(R.id.province);

        cityPicker = (ScrollerNumberPicker) findViewById(R.id.city);
        counyPicker = (ScrollerNumberPicker) findViewById(R.id.couny);
        provincePicker.setData(citycodeUtil.getProvince(province_list));
        provincePicker.setDefault(1);
        cityPicker.setData(citycodeUtil.getCity(city_map, citycodeUtil
                .getProvince_list_code().get(1)));
        cityPicker.setDefault(1);
        counyPicker.setData(citycodeUtil.getCouny(couny_map, citycodeUtil
                .getCity_list_code().get(1)));
        counyPicker.setDefault(1);
        provincePicker.setOnSelectListener(new ScrollerNumberPicker.OnSelectListener() {

            @Override
            public void endSelect(int id, String text) {
                // TODO Auto-generated method stub
                Log.i("kkkk" ,id + "text----->" + text);
                if (text.equals("") || text == null)
                    return;
                if (tempProvinceIndex != id) {
                    System.out.println("endselect");
                    String selectDay = cityPicker.getSelectedText();
                    if (selectDay == null || selectDay.equals(""))
                        return;
                    String selectMonth = counyPicker.getSelectedText();
                    if (selectMonth == null || selectMonth.equals(""))
                        return;
                    // 城市数组
                    cityPicker.setData(citycodeUtil.getCity(city_map,
                            citycodeUtil.getProvince_list_code().get(id)));
                    cityPicker.setDefault(1);
                    counyPicker.setData(citycodeUtil.getCouny(couny_map,
                            citycodeUtil.getCity_list_code().get(1)));
                    counyPicker.setDefault(1);
                    int lastDay = Integer.valueOf(provincePicker.getListSize());
                    if (id > lastDay) {
                        provincePicker.setDefault(lastDay - 1);
                    }
                }
                tempProvinceIndex = id;
                Message message = new Message();
                message.what = REFRESH_VIEW;
                handler.sendMessage(message);
            }

            @Override
            public void selecting(int id, String text) {
                // TODO Auto-generated method stub
            }
        });
        cityPicker.setOnSelectListener(new ScrollerNumberPicker.OnSelectListener() {

            @Override
            public void endSelect(int id, String text) {
                // TODO Auto-generated method stub
                if (text.equals("") || text == null)
                    return;
                if (temCityIndex != id) {
                    String selectDay = provincePicker.getSelectedText();
                    if (selectDay == null || selectDay.equals(""))
                        return;
                    String selectMonth = counyPicker.getSelectedText();
                    if (selectMonth == null || selectMonth.equals(""))
                        return;
                    counyPicker.setData(citycodeUtil.getCouny(couny_map,
                            citycodeUtil.getCity_list_code().get(id)));
                    counyPicker.setDefault(1);
                    int lastDay = Integer.valueOf(cityPicker.getListSize());
                    if (id > lastDay) {
                        cityPicker.setDefault(lastDay - 1);
                    }
                }
                temCityIndex = id;
                Message message = new Message();
                message.what = REFRESH_VIEW;
                handler.sendMessage(message);
            }

            @Override
            public void selecting(int id, String text) {
                // TODO Auto-generated method stub

            }
        });
        counyPicker.setOnSelectListener(new ScrollerNumberPicker.OnSelectListener() {

            @Override
            public void endSelect(int id, String text) {
                // TODO Auto-generated method stub

                if (text.equals("") || text == null)
                    return;
                if (tempCounyIndex != id) {
                    String selectDay = provincePicker.getSelectedText();
                    if (selectDay == null || selectDay.equals(""))
                        return;
                    String selectMonth = cityPicker.getSelectedText();
                    if (selectMonth == null || selectMonth.equals(""))
                        return;
                    // 城市数组
                    city_code_string = citycodeUtil.getCouny_list_code()
                            .get(id);
                    int lastDay = Integer.valueOf(counyPicker.getListSize());
                    if (id > lastDay) {
                        counyPicker.setDefault(lastDay - 1);
                    }
                }
                tempCounyIndex = id;
                Message message = new Message();
                message.what = REFRESH_VIEW;
                handler.sendMessage(message);
            }

            @Override
            public void selecting(int id, String text) {
                // TODO Auto-generated method stub

            }
        });
    }

    @SuppressLint("HandlerLeak")
    Handler handler = new Handler() {

        @Override
        public void handleMessage(Message msg) {
            // TODO Auto-generated method stub
            super.handleMessage(msg);
            switch (msg.what) {
            case REFRESH_VIEW:
                if (onSelectingListener != null)
                    onSelectingListener.selected(true);
                break;
            default:
                break;
            }
        }

    };

    public void setOnSelectingListener(OnSelectingListener onSelectingListener) {
        this.onSelectingListener = onSelectingListener;
    }

    public String getCity_code_string() {
        return city_code_string;
    }

    public String getCity_string() {
        city_string = provincePicker.getSelectedText()
                + cityPicker.getSelectedText() + counyPicker.getSelectedText();
        return city_string;
    }

    public interface OnSelectingListener {

        public void selected(boolean selected);
    }
}

FileUtil类文件:

package com.example.administrator.city;

import android.content.Context;
import android.os.Parcel;
import android.os.Parcelable;

import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.List;

public class FileUtil {

    /**
     * 删除文件
     * 
     * @param context
     *            程序上下文
     * @param fileName
     *            文件名,要在系统内保持唯一
     * @return boolean 存储成功的标志
     */
    public static boolean deleteFile(Context context, String fileName){

        return context.deleteFile(fileName);

    }

    /**
     * 文件是否存在
     * 
     * @param context
     * @param fileName
     * @return
     */
    public static boolean exists(Context context, String fileName) {

        return new File(context.getFilesDir(), fileName).exists();

    }

    /**
     * 存储文本数据
     * 
     * @param context
     *            程序上下文
     * @param fileName
     *            文件名,要在系统内保持唯一
     * @param content
     *            文本内容
     * @return boolean 存储成功的标志
     */
    public static boolean writeFile(Context context, String fileName, String content){

        boolean success = false;
        FileOutputStream fos = null;
        try{

            fos = context.openFileOutput(fileName, Context.MODE_PRIVATE);
            byte[] byteContent = content.getBytes();
            fos.write(byteContent);

            success = true;
        }
        catch (FileNotFoundException e){

            e.printStackTrace();

        }
        catch (IOException e){

            e.printStackTrace();

        }
        finally{

            try{

                if (fos != null) fos.close();

            }
            catch (IOException ioe){

                ioe.printStackTrace();

            }
        }

        return success;
    }

    public static boolean writeFile(String filePath, String content){

        boolean success = false;
        FileOutputStream fos = null;
        try{

            fos = new FileOutputStream(filePath);
            byte[] byteContent = content.getBytes();
            fos.write(byteContent);

            success = true;
        }
        catch (FileNotFoundException e){

            e.printStackTrace();
        }
        catch (IOException e){

            e.printStackTrace();
        }
        finally{

            try{

                if (fos != null) fos.close();
            }
            catch (IOException ioe){

                ioe.printStackTrace();
            }
        }

        return success;
    }

    /**
     * 读取文本数据
     * 
     * @param context
     *            程序上下文
     * @param fileName
     *            文件名
     * @return String, 读取到的文本内容,失败返回null
     */
    public static String readFile(Context context, String fileName){

        if (!exists(context, fileName)) { return null; }
        FileInputStream fis = null;
        String content = null;
        try{

            fis = context.openFileInput(fileName);
            if (fis != null){


                byte[] buffer = new byte[1024];
                ByteArrayOutputStream arrayOutputStream = new ByteArrayOutputStream();
                while (true){

                    int readLength = fis.read(buffer);
                    if (readLength == -1) break;
                    arrayOutputStream.write(buffer, 0, readLength);
                }
                fis.close();
                arrayOutputStream.close();
                content = new String(arrayOutputStream.toByteArray());

            }
        }
        catch (FileNotFoundException e){

            e.printStackTrace();
        }
        catch (IOException e){

            e.printStackTrace();
            content = null;
        }
        finally{

            try{

                if (fis != null) fis.close();
            }
            catch (IOException ioe){

                ioe.printStackTrace();
            }
        }
        return content;
    }
    public static String readFile(String filePath){

        if (filePath == null || !new File(filePath).exists()) { return null; }
        FileInputStream fis = null;
        String content = null;
        try{

            fis = new FileInputStream(filePath);
            if (fis != null)
            {

                byte[] buffer = new byte[1024];
                ByteArrayOutputStream arrayOutputStream = new ByteArrayOutputStream();
                while (true)
                {
                    int readLength = fis.read(buffer);
                    if (readLength == -1) break;
                    arrayOutputStream.write(buffer, 0, readLength);
                }
                fis.close();
                arrayOutputStream.close();
                content = new String(arrayOutputStream.toByteArray());

            }
        }
        catch (FileNotFoundException e)
        {
            e.printStackTrace();
        }
        catch (IOException e)
        {
            e.printStackTrace();
            content = null;
        }
        finally
        {
            try
            {
                if (fis != null) fis.close();
            }
            catch (IOException ioe)
            {
                ioe.printStackTrace();
            }
        }
        return content;
    }

    /**
     * 读取文本数据
     * 
     * @param context
     *            程序上下文
     * @param fileName
     *            文件名
     * @return String, 读取到的文本内容,失败返回null
     */
    public static String readAssets(Context context, String fileName)
    {
        InputStream is = null;
        String content = null;
        try
        {
            is = context.getAssets().open(fileName);
            if (is != null)
            {

                byte[] buffer = new byte[1024];
                ByteArrayOutputStream arrayOutputStream = new ByteArrayOutputStream();
                while (true)
                {
                    int readLength = is.read(buffer);
                    if (readLength == -1) break;
                    arrayOutputStream.write(buffer, 0, readLength);
                }
                is.close();
                arrayOutputStream.close();
                content = new String(arrayOutputStream.toByteArray());

            }
        }
        catch (FileNotFoundException e)
        {
            e.printStackTrace();
        }
        catch (IOException e)
        {
            e.printStackTrace();
            content = null;
        }
        finally
        {
            try
            {
                if (is != null) is.close();
            }
            catch (IOException ioe)
            {
                ioe.printStackTrace();
            }
        }
        return content;
    }

    /**
     * 存储单个Parcelable对象
     * 
     * @param context
     *            程序上下文
     * @param fileName
     *            文件名,要在系统内保持唯一
     * @param parcelObject
     *            对象必须实现Parcelable
     * @return boolean 存储成功的标志
     */
    public static boolean writeParcelable(Context context, String fileName, Parcelable parcelObject)
    {
        boolean success = false;
        FileOutputStream fos = null;
        try
        {
            fos = context.openFileOutput(fileName, Context.MODE_PRIVATE);
            Parcel parcel = Parcel.obtain();
            parcel.writeParcelable(parcelObject, Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
            byte[] data = parcel.marshall();
            fos.write(data);

            success = true;
        }
        catch (FileNotFoundException e)
        {
            e.printStackTrace();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        finally
        {
            if (fos != null)
            {
                try
                {
                    fos.close();
                }
                catch (IOException ioe)
                {
                    ioe.printStackTrace();
                }
            }
        }

        return success;
    }

    /**
     * 存储List对象
     * 
     * @param context
     *            程序上下文
     * @param fileName
     *            文件名,要在系统内保持唯一
     * @param list
     *            对象数组集合,对象必须实现Parcelable
     * @return boolean 存储成功的标志
     */
    public static boolean writeParcelableList(Context context, String fileName, List list)
    {
        boolean success = false;
        FileOutputStream fos = null;
        try
        {
            if (list instanceof List)
            {
                fos = context.openFileOutput(fileName, Context.MODE_PRIVATE);
                Parcel parcel = Parcel.obtain();
                parcel.writeList(list);
                byte[] data = parcel.marshall();
                fos.write(data);

                success = true;
            }
        }
        catch (FileNotFoundException e)
        {
            e.printStackTrace();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        finally
        {
            if (fos != null)
            {
                try
                {
                    fos.close();
                }
                catch (IOException ioe)
                {
                    ioe.printStackTrace();
                }
            }
        }

        return success;
    }

    /**
     * 读取单个数据对象
     * 
     * @param context
     *            程序上下文
     * @param fileName
     *            文件名
     * @return Parcelable, 读取到的Parcelable对象,失败返回null
     */
    @SuppressWarnings("unchecked")
    public static Parcelable readParcelable(Context context, String fileName, ClassLoader classLoader)
    {
        Parcelable parcelable = null;
        FileInputStream fis = null;
        ByteArrayOutputStream bos = null;
        try
        {
            fis = context.openFileInput(fileName);
            if (fis != null)
            {
                bos = new ByteArrayOutputStream();
                byte[] b = new byte[4096];
                int bytesRead;
                while ((bytesRead = fis.read(b)) != -1)
                {
                    bos.write(b, 0, bytesRead);
                }

                byte[] data = bos.toByteArray();

                Parcel parcel = Parcel.obtain();
                parcel.unmarshall(data, 0, data.length);
                parcel.setDataPosition(0);
                parcelable = parcel.readParcelable(classLoader);
            }
        }
        catch (FileNotFoundException e)
        {
            e.printStackTrace();
        }
        catch (IOException e)
        {
            e.printStackTrace();
            parcelable = null;
        }
        finally
        {
            if (fis != null) try
            {
                fis.close();
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
            if (bos != null) try
            {
                bos.close();
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
        }

        return parcelable;
    }

    /**
     * 读取数据对象列表
     * 
     * @param context
     *            程序上下文
     * @param fileName
     *            文件名
     * @return List, 读取到的对象数组,失败返回null
     */
    @SuppressWarnings("unchecked")
    public static List readParcelableList(Context context, String fileName, ClassLoader classLoader)
    {
        List results = null;
        FileInputStream fis = null;
        ByteArrayOutputStream bos = null;
        try
        {
            fis = context.openFileInput(fileName);
            if (fis != null)
            {
                bos = new ByteArrayOutputStream();
                byte[] b = new byte[4096];
                int bytesRead;
                while ((bytesRead = fis.read(b)) != -1)
                {
                    bos.write(b, 0, bytesRead);
                }

                byte[] data = bos.toByteArray();

                Parcel parcel = Parcel.obtain();
                parcel.unmarshall(data, 0, data.length);
                parcel.setDataPosition(0);
                results = parcel.readArrayList(classLoader);
            }
        }
        catch (FileNotFoundException e)
        {
            e.printStackTrace();
        }
        catch (IOException e)
        {
            e.printStackTrace();
            results = null;
        }
        finally
        {
            if (fis != null) try
            {
                fis.close();
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
            if (bos != null) try
            {
                bos.close();
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
        }

        return results;
    }

    public static boolean saveSerializable(Context context, String fileName, Serializable data)
    {
        boolean success = false;
        ObjectOutputStream oos = null;
        try
        {
            oos = new ObjectOutputStream(context.openFileOutput(fileName, Context.MODE_PRIVATE));
            oos.writeObject(data);
            success = true;
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        finally
        {
            if (oos != null)
            {
                try
                {
                    oos.close();
                }
                catch (IOException e)
                {
                    e.printStackTrace();
                }
            }
        }
        return success;
    }

    public static Serializable readSerialLizable(Context context, String fileName)
    {
        Serializable data = null;
        ObjectInputStream ois = null;
        try
        {
            ois = new ObjectInputStream(context.openFileInput(fileName));
            data = (Serializable) ois.readObject();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        finally
        {
            if (ois != null)
            {
                try
                {
                    ois.close();
                }
                catch (IOException e)
                {
                    e.printStackTrace();
                }
            }
        }

        return data;
    }

    /**
     * 从assets里边读取字符串
     * 
     * @param context
     * @param fileName
     * @return
     */
    public static String getFromAssets(Context context, String fileName)
    {
        try
        {
            InputStreamReader inputReader = new InputStreamReader(context.getResources().getAssets().open(fileName));
            BufferedReader bufReader = new BufferedReader(inputReader);
            String line = "";
            String Result = "";
            while ((line = bufReader.readLine()) != null)
                Result += line;
            return Result;
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return null;
    }

    /**
     * 复制文件
     * 
     * @param srcFile
     * @param dstFile
     * @return
     */
    public static boolean copy(String srcFile, String dstFile)
    {
        FileInputStream fis = null;
        FileOutputStream fos = null;
        try
        {

            File dst = new File(dstFile);
            if (!dst.getParentFile().exists())
            {
                dst.getParentFile().mkdirs();
            }

            fis = new FileInputStream(srcFile);
            fos = new FileOutputStream(dstFile);

            byte[] buffer = new byte[1024];
            int len = 0;

            while ((len = fis.read(buffer)) != -1)
            {
                fos.write(buffer, 0, len);
            }

        }
        catch (Exception e)
        {
            e.printStackTrace();
            return false;
        }
        finally
        {
            if (fis != null)
            {
                try
                {
                    fis.close();
                }
                catch (IOException e)
                {
                    e.printStackTrace();
                }
            }
            if (fos != null)
            {
                try
                {
                    fos.close();
                }
                catch (IOException e)
                {
                    e.printStackTrace();
                }
            }

        }
        return true;
    }

}

ScrollerNumberPicker类文件:

package com.example.administrator.city;

import android.annotation.SuppressLint;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.LinearGradient;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.Shader.TileMode;
import android.os.Handler;
import android.os.Message;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;

import com.example.administrator.stock_sell_storage_app.R;

import java.util.ArrayList;

/**
 * 
 * 滑动选择
 * 
 * @author
 * 
 */
public class ScrollerNumberPicker extends View {
    /** 控件宽度 */
    private float controlWidth;
    /** 控件高度 */
    private float controlHeight;
    /** 是否滑动中 */
    private boolean isScrolling = false;
    /** 选择的内容 */
    private ArrayList itemList = new ArrayList();
    /** 设置数据 */
    private ArrayList dataList = new ArrayList();
    /** 按下的坐标 */
    private int downY;
    /** 按下的时间 */
    private long downTime = 0;
    /** 短促移动 */
    private long goonTime = 200;
    /** 短促移动距离 */
    private int goonDistence = 100;
    /** 画线画笔 */
    private Paint linePaint;
    /** 线的默认颜色 */
    private int lineColor = 0xff000000;
    /** 默认字体 */
    private float normalFont = 14.0f;
    /** 选中的时候字体 */
    private float selectedFont = 22.0f;
    /** 单元格高度 */
    private int unitHeight = 50;
    /** 显示多少个内容 */
    private int itemNumber = 7;
    /** 默认字体颜色 */
    private int normalColor = 0xff000000;
    /** 选中时候的字体颜色 */
    private int selectedColor = 0xffff0000;
    /** 蒙板高度 */
    private float maskHight = 48.0f;
    /** 选择监听 */
    private OnSelectListener onSelectListener;
    /** 是否可用 */
    private boolean isEnable = true;
    /** 刷新界面 */
    private static final int REFRESH_VIEW = 0x001;
    /** 移动距离 */
    private static final int MOVE_NUMBER = 5;
    /** 是否允许选空 */
    private boolean noEmpty = false;

    /** 正在修改数据,避免ConcurrentModificationException异常 */
    private boolean isClearing = false;

    public ScrollerNumberPicker(Context context, AttributeSet attrs,
            int defStyle) {
        super(context, attrs, defStyle);
        // TODO Auto-generated constructor stub
        init(context, attrs);
        initData();
    }

    public ScrollerNumberPicker(Context context, AttributeSet attrs) {
        super(context, attrs);
        // TODO Auto-generated constructor stub
        init(context, attrs);
        initData();
    }

    public ScrollerNumberPicker(Context context) {
        super(context);
        // TODO Auto-generated constructor stub
        initData();
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        // TODO Auto-generated method stub

        if (!isEnable)
            return true;
        int y = (int) event.getY();
        switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN:
            isScrolling = true;
            downY = (int) event.getY();
            downTime = System.currentTimeMillis();
            break;
        case MotionEvent.ACTION_MOVE:
            actionMove(y - downY);
            onSelectListener();
            break;
        case MotionEvent.ACTION_UP:

            // 移动距离的绝对值
            int move = (y - downY);
            move = move > 0 ? move : move * (-1);
            // 判断段时间移动的距离
            if (System.currentTimeMillis() - downTime < goonTime
                    && move > goonDistence) {
                goonMove(y - downY);
            } else {
                actionUp(y - downY);
            }
            noEmpty();
            isScrolling = false;
            break;
        default:
            break;
        }
        return true;
    }

    @Override
    protected void onDraw(Canvas canvas) {
        // TODO Auto-generated method stub
        super.onDraw(canvas);

        drawLine(canvas);
        drawList(canvas);
        drawMask(canvas);
    }

    private synchronized void drawList(Canvas canvas) {
        if (isClearing)
            return;
        try {
            for (ItemObject itemObject : itemList) {
                itemObject.drawSelf(canvas);
            }
        } catch (Exception e) {
            // TODO: handle exception
        }

    }

    @Override
    protected void onLayout(boolean changed, int left, int top, int right,
            int bottom) {
        // TODO Auto-generated method stub
        super.onLayout(changed, left, top, right, bottom);
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        // TODO Auto-generated method stub
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        controlWidth = getWidth();
        if (controlWidth != 0) {
            setMeasuredDimension(getWidth(), itemNumber * unitHeight);
            controlWidth = getWidth();
        }

    }

    /**
     * 继续移动一定距离
     */
    private synchronized void goonMove(final int move) {
        new Thread(new Runnable() {

            @Override
            public void run() {
                // TODO Auto-generated method stub
                int distence = 0;
                while (distence < unitHeight * MOVE_NUMBER) {
                    try {
                        Thread.sleep(5);
                    } catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    actionThreadMove(move > 0 ? distence : distence * (-1));
                    distence += 10;

                }
                actionUp(move > 0 ? distence - 10 : distence * (-1) + 10);
                noEmpty();
            }
        }).start();
    }

    /**
     * 不能为空,必须有选项
     */
    private void noEmpty() {
        if (!noEmpty)
            return;
        for (ItemObject item : itemList) {
            if (item.isSelected())
                return;
        }
        int move = (int) itemList.get(0).moveToSelected();
        if (move < 0) {
            defaultMove(move);
        } else {
            defaultMove((int) itemList.get(itemList.size() - 1)
                    .moveToSelected());
        }
        for (ItemObject item : itemList) {
            if (item.isSelected()) {
                if (onSelectListener != null)
                    onSelectListener.endSelect(item.id, item.itemText);
                break;
            }
        }
    }

    /**
     * 初始化数据
     */
    private void initData() {
        isClearing = true;
        itemList.clear();
        for (int i = 0; i < dataList.size(); i++) {
            ItemObject itmItemObject = new ItemObject();
            itmItemObject.id = i;
            itmItemObject.itemText = dataList.get(i);
            itmItemObject.x = 0;
            itmItemObject.y = i * unitHeight;
            itemList.add(itmItemObject);
        }
        isClearing = false;

    }

    /**
     * 移动的时候
     * 
     * @param move
     */
    private void actionMove(int move) {
        for (ItemObject item : itemList) {
            item.move(move);
        }
        invalidate();
    }

    /**
     * 移动,线程中调用
     * 
     * @param move
     */
    private void actionThreadMove(int move) {
        for (ItemObject item : itemList) {
            item.move(move);
        }
        Message rMessage = new Message();
        rMessage.what = REFRESH_VIEW;
        handler.sendMessage(rMessage);
    }

    /**
     * 松开的时候
     * 
     * @param move
     */
    private void actionUp(int move) {
        int newMove = 0;
        if (move > 0) {
            for (int i = 0; i < itemList.size(); i++) {
                if (itemList.get(i).isSelected()) {
                    newMove = (int) itemList.get(i).moveToSelected();
                    if (onSelectListener != null)
                        onSelectListener.endSelect(itemList.get(i).id,
                                itemList.get(i).itemText);
                    break;
                }
            }
        } else {
            for (int i = itemList.size() - 1; i >= 0; i--) {
                if (itemList.get(i).isSelected()) {
                    newMove = (int) itemList.get(i).moveToSelected();
                    if (onSelectListener != null)
                        onSelectListener.endSelect(itemList.get(i).id,
                                itemList.get(i).itemText);
                    break;
                }
            }
        }
        for (ItemObject item : itemList) {
            item.newY(move + 0);
        }
        slowMove(newMove);
        Message rMessage = new Message();
        rMessage.what = REFRESH_VIEW;
        handler.sendMessage(rMessage);

    }

    /**
     * 缓慢移动
     * 
     * @param move
     */
    private synchronized void slowMove(final int move) {
        new Thread(new Runnable() {

            @Override
            public void run() {
                // TODO Auto-generated method stub
                // 判断政府
                int m = move > 0 ? move : move * (-1);
                int i = move > 0 ? 1 : (-1);
                // 移动速度
                int speed = 1;
                while (true) {
                    m = m - speed;
                    if (m <= 0) {
                        for (ItemObject item : itemList) {
                            item.newY(m * i);
                        }
                        Message rMessage = new Message();
                        rMessage.what = REFRESH_VIEW;
                        handler.sendMessage(rMessage);
                        try {
                            Thread.sleep(2);
                        } catch (InterruptedException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                        break;
                    }
                    for (ItemObject item : itemList) {
                        item.newY(speed * i);
                    }
                    Message rMessage = new Message();
                    rMessage.what = REFRESH_VIEW;
                    handler.sendMessage(rMessage);
                    try {
                        Thread.sleep(2);
                    } catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
                for (ItemObject item : itemList) {
                    if (item.isSelected()) {
                        if (onSelectListener != null)
                            onSelectListener.endSelect(item.id, item.itemText);
                        break;
                    }
                }

            }
        }).start();
    }

    /**
     * 移动到默认位置
     * 
     * @param move
     */
    private void defaultMove(int move) {
        for (ItemObject item : itemList) {
            item.newY(move);
        }
        Message rMessage = new Message();
        rMessage.what = REFRESH_VIEW;
        handler.sendMessage(rMessage);
    }

    /**
     * 滑动监听
     */
    private void onSelectListener() {
        if (onSelectListener == null)
            return;
        for (ItemObject item : itemList) {
            if (item.isSelected()) {
                onSelectListener.selecting(item.id, item.itemText);
            }
        }
    }

    /**
     * 绘制线条
     * 
     * @param canvas
     */
    private void drawLine(Canvas canvas) {

        if (linePaint == null) {
            linePaint = new Paint();
            linePaint.setColor(lineColor);
            linePaint.setAntiAlias(true);
            linePaint.setStrokeWidth(1f);
        }

        canvas.drawLine(0, controlHeight / 2 - unitHeight / 2 + 2,
                controlWidth, controlHeight / 2 - unitHeight / 2 + 2, linePaint);
        canvas.drawLine(0, controlHeight / 2 + unitHeight / 2 - 2,
                controlWidth, controlHeight / 2 + unitHeight / 2 - 2, linePaint);
    }

    /**
     * 绘制遮盖板
     * 
     * @param canvas
     */
    private void drawMask(Canvas canvas) {
        LinearGradient lg = new LinearGradient(0, 0, 0, maskHight, 0x00f2f2f2,
                0x00f2f2f2, TileMode.MIRROR);
        Paint paint = new Paint();
        paint.setShader(lg);
        canvas.drawRect(0, 0, controlWidth, maskHight, paint);

        LinearGradient lg2 = new LinearGradient(0, controlHeight - maskHight,
                0, controlHeight, 0x00f2f2f2, 0x00f2f2f2, TileMode.MIRROR);
        Paint paint2 = new Paint();
        paint2.setShader(lg2);
        canvas.drawRect(0, controlHeight - maskHight, controlWidth,
                controlHeight, paint2);

    }

    /**
     * 初始化,获取设置的属性
     *
     * @param context
     * @param attrs
     */
    private void init(Context context, AttributeSet attrs) {
        TypedArray attribute = context.obtainStyledAttributes(attrs,
                R.styleable.NumberPicker);
        unitHeight = (int) attribute.getDimension(
                R.styleable.NumberPicker_unitHight, 32);
        normalFont = attribute.getDimension(
                R.styleable.NumberPicker_normalTextSize, 14.0f);
        selectedFont = attribute.getDimension(
                R.styleable.NumberPicker_selecredTextSize, 22.0f);
        itemNumber = attribute.getInt(R.styleable.NumberPicker_itemNumber, 7);
        normalColor = attribute.getColor(
                R.styleable.NumberPicker_normalTextColor, 0xff000000);
        selectedColor = attribute.getColor(
                R.styleable.NumberPicker_selecredTextColor, 0xffff0000);
        lineColor = attribute.getColor(R.styleable.NumberPicker_lineColor,
                0xff000000);
        maskHight = attribute.getDimension(
                R.styleable.NumberPicker_maskHight, 48.0f);
        noEmpty = attribute.getBoolean(R.styleable.NumberPicker_noEmpty,
                false);
        isEnable = attribute.getBoolean(R.styleable.NumberPicker_isEnable,
                true);
        attribute.recycle();

        controlHeight = itemNumber * unitHeight;

    }

    /**
     * 设置数据
     * 
     * @param data
     */
    public void setData(ArrayList data) {
        this.dataList = data;
        initData();
    }

    /**
     * 获取返回项
     * 
     * @return
     */
    public int getSelected() {
        for (ItemObject item : itemList) {
            if (item.isSelected())
                return item.id;
        }
        return -1;
    }

    /**
     * 获取返回的内容
     * 
     * @return
     */
    public String getSelectedText() {
        for (ItemObject item : itemList) {
            if (item.isSelected())
                return item.itemText;
        }
        return "";
    }

    /**
     * 是否正在滑动
     * 
     * @return
     */
    public boolean isScrolling() {
        return isScrolling;
    }

    /**
     * 是否可用
     * 
     * @return
     */
    public boolean isEnable() {
        return isEnable;
    }

    /**
     * 设置是否可用
     * 
     * @param isEnable
     */
    public void setEnable(boolean isEnable) {
        this.isEnable = isEnable;
    }

    /**
     * 设置默认选项
     * 
     * @param index
     */
    public void setDefault(int index) {
        float move = itemList.get(index).moveToSelected();
        defaultMove((int) move);
    }

    /**
     * 获取列表大小
     * 
     * @return
     */
    public int getListSize() {
        if (itemList == null)
            return 0;
        return itemList.size();
    }

    /**
     * 获取某项的内容
     * 
     * @param index
     * @return
     */
    public String getItemText(int index) {
        if (itemList == null)
            return "";
        return itemList.get(index).itemText;
    }

    /**
     * 监听
     * 
     * @param onSelectListener
     */
    public void setOnSelectListener(OnSelectListener onSelectListener) {
        this.onSelectListener = onSelectListener;
    }

    @SuppressLint("HandlerLeak")
    Handler handler = new Handler() {

        @Override
        public void handleMessage(Message msg) {
            // TODO Auto-generated method stub
            super.handleMessage(msg);
            switch (msg.what) {
            case REFRESH_VIEW:
                invalidate();
                break;
            default:
                break;
            }
        }

    };

    /**
     * 单条内容
     * 
     * @author zoudong
     */
    private class ItemObject {
        /** id */
        public int id = 0;
        /** 内容 */
        public String itemText = "";
        /** x坐标 */
        public int x = 0;
        /** y坐标 */
        public int y = 0;
        /** 移动距离 */
        public int move = 0;
        /** 字体画笔 */
        private Paint textPaint;
        /** 字体范围矩形 */
        private Rect textRect;

        public ItemObject() {
            super();
        }

        /**
         * 绘制自身
         * 
         * @param canvas
         */
        public void drawSelf(Canvas canvas) {

            if (textPaint == null) {
                textPaint = new Paint();
                textPaint.setAntiAlias(true);
            }

            if (textRect == null)
                textRect = new Rect();

            // 判断是否被选择
            if (isSelected()) {
                textPaint.setColor(selectedColor);
                // 获取距离标准位置的距离
                float moveToSelect = moveToSelected();
                moveToSelect = moveToSelect > 0 ? moveToSelect : moveToSelect
                        * (-1);
                // 计算当前字体大小
                float textSize = (float) normalFont
                        + ((float) (selectedFont - normalFont) * (1.0f - (float) moveToSelect
                                / (float) unitHeight));
                textPaint.setTextSize(textSize);
            } else {
                textPaint.setColor(normalColor);
                textPaint.setTextSize(normalFont);
            }

            // 返回包围整个字符串的最小的一个Rect区域
            textPaint.getTextBounds(itemText, 0, itemText.length(), textRect);
            // 判断是否可视
            if (!isInView())
                return;

            // 绘制内容
            canvas.drawText(itemText, x + controlWidth / 2 - textRect.width()
                    / 2, y + move + unitHeight / 2 + textRect.height() / 2,
                    textPaint);

        }

        public boolean isInView() {
            if (y + move > controlHeight
                    || (y + move + unitHeight / 2 + textRect.height() / 2) < 0)
                return false;
            return true;
        }

        /**
         * 移动距离
         * 
         * @param _move
         */
        public void move(int _move) {
            this.move = _move;
        }

        public void newY(int _move) {
            this.move = 0;
            this.y = y + _move;
        }

        /**
         * 判断是否在选择区域内
         * 
         * @return
         */
        public boolean isSelected() {
            if ((y + move) >= controlHeight / 2 - unitHeight / 2 + 2
                    && (y + move) <= controlHeight / 2 + unitHeight / 2 - 2)
                return true;
            if ((y + move + unitHeight) >= controlHeight / 2 - unitHeight / 2
                    + 2
                    && (y + move + unitHeight) <= controlHeight / 2
                            + unitHeight / 2 - 2)
                return true;
            if ((y + move) <= controlHeight / 2 - unitHeight / 2 + 2
                    && (y + move + unitHeight) >= controlHeight / 2
                            + unitHeight / 2 - 2)
                return true;
            return false;
        }

        /**
         * 获取移动到标准位置需要的距离
         */
        public float moveToSelected() {
            return (controlHeight / 2 - unitHeight / 2) - (y + move);
        }
    }

    /**
     * 选择监听监听
     * 
     * @author zoudong
     * 
     */
    public interface OnSelectListener {

        /**
         * 结束选择
         * 
         * @param id
         * @param text
         */
        public void endSelect(int id, String text);

        /**
         * 选中的内容
         * 
         * @param id
         * @param text
         */
        public void selecting(int id, String text);

    }
}

city_picker.xml布局文件:

"1.0" encoding="utf-8"?>
"http://schemas.android.com/apk/res/android"
    xmlns:su="http://schemas.android.com/apk/res-auto"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center_horizontal"
    android:orientation="horizontal" >

    <com.example.administrator.city.ScrollerNumberPicker
        android:id="@+id/province"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="1dp"
        android:layout_marginRight="1dp"
        android:layout_weight="1"
        su:itemNumber="3"
        su:lineColor="#ffff6000"
        su:maskHight="32dp"
        su:noEmpty="true"
        su:normalTextColor="#777"
        su:normalTextSize="12sp"
        su:selecredTextColor="#ff000000"
        su:selecredTextSize="13sp"
        su:unitHight="50dp" />

    <com.example.administrator.city.ScrollerNumberPicker
        android:id="@+id/city"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="1dp"
        android:layout_marginRight="1dp"
        android:layout_weight="1"
        su:itemNumber="3"
        su:lineColor="#ffff6000"
        su:maskHight="32dp"
        su:noEmpty="true"
        su:normalTextColor="#777"
        su:normalTextSize="12sp"
        su:selecredTextColor="#ff000000"
        su:selecredTextSize="13sp"
        su:unitHight="50dp" />

    <com.example.administrator.city.ScrollerNumberPicker
        android:id="@+id/couny"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="1dp"
        android:layout_marginRight="1dp"
        android:layout_weight="1"
        su:itemNumber="3"
        su:lineColor="#ffff6000"
        su:maskHight="32dp"
        su:noEmpty="true"
        su:normalTextColor="#777"
        su:normalTextSize="12sp"
        su:selecredTextColor="#ff000000"
        su:selecredTextSize="13sp"
        su:unitHight="50dp" />


第三步:创建一个布局界面及一个Dialog(如下图)

Android(省市区三级联动Dialog)Demo_第3张图片

Android(省市区三级联动Dialog)Demo_第4张图片

FillinaddressActivity类文件:

package com.example.administrator.userenterinterface;

import android.app.Activity;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.example.administrator.city.ScrollerNumberPicker;
import com.example.administrator.stock_sell_storage_app.R;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.lidroid.xutils.view.annotation.event.OnClick;

/**
 * Created by Administrator on 2016-06-20.
 * 用户填写地址
 */
public class FillinaddressActivity extends Activity {

    @ViewInject(R.id.fillinaddress_image) ImageView fillinaddress_image;
    @ViewInject(R.id.fillinaddress_linearlayout) LinearLayout fillinaddress_linearlayout;
    @ViewInject(R.id.addsite_linearlayout) LinearLayout addsite_linearlayout;
    @ViewInject(R.id.addsite_txt) TextView addsite_txt;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fillinaddress_activity);
        ViewUtils.inject(this); //注入view和事件

    }

    @OnClick({R.id.fillinaddress_image,R.id.fillinaddress_linearlayout,R.id.addsite_linearlayout})
    public void OnClick(View v) {
        switch (v.getId()) {
            case R.id.fillinaddress_image:
                //返回我的地址界面
                finish();
                break;

            case R.id.fillinaddress_linearlayout:
                //保存用户输入的数据并返回我的地址界面

                break;

            case R.id.addsite_linearlayout:
                //用户选中的地区

                AlertDialog.Builder builder=new AlertDialog.Builder(FillinaddressActivity.this);
                View view = LayoutInflater.from(FillinaddressActivity.this).inflate(R.layout.addressdialog, null);
                builder.setView(view);
                LinearLayout addressdialog_linearlayout = (LinearLayout)view.findViewById(R.id.addressdialog_linearlayout);
                final ScrollerNumberPicker provincePicker = (ScrollerNumberPicker)view.findViewById(R.id.province);
                final ScrollerNumberPicker cityPicker = (ScrollerNumberPicker)view.findViewById(R.id.city);
                final ScrollerNumberPicker counyPicker = (ScrollerNumberPicker)view.findViewById(R.id.couny);
                final AlertDialog dialog = builder.show();
                addressdialog_linearlayout.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {

                        addsite_txt.setText(provincePicker.getSelectedText()+cityPicker.getSelectedText()+counyPicker.getSelectedText());
                        Log.i("kkkk",provincePicker.getSelectedText()+cityPicker.getSelectedText()+counyPicker.getSelectedText());
                        dialog.dismiss();

                    }
                });
                break;
        }
    }

}

fillinaddress_activity.xml文件


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    
    <LinearLayout
        android:id="@+id/myaddress_linerlayout"
        android:layout_width="match_parent"
        android:layout_height="45dp"
        android:orientation="horizontal"
        android:gravity="center"
        android:background="#ffff">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="vertical"
            android:gravity="left|center">

            <ImageView
                android:id="@+id/fillinaddress_image"
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:layout_marginLeft="5dp"
                android:background="@mipmap/back"
                />

        LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="vertical"
            android:gravity="center">

            <com.example.administrator.customview.CustomTextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="3dp"
                android:layout_marginBottom="5dp"
                android:text="添加地址"
                android:textColor="#000"
                android:textSize="17dp"/>

        LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="vertical"
            android:gravity="center|right">
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="10dp"
                android:visibility="gone"
                android:background="@mipmap/more"/>
        LinearLayout>
    LinearLayout>

    <com.example.administrator.customview.CustomTextView
        android:layout_width="match_parent"
        android:layout_height="0.1px"
        android:layout_below="@+id/myaddress_linerlayout"
        android:background="@color/milk_white"
        android:id="@+id/view" />

    
    <LinearLayout
        android:id="@+id/shouhuodizhi"
        android:layout_below="@+id/view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:gravity="center_horizontal|left">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="horizontal"
            android:gravity="center_horizontal|left"
            android:background="@color/white"
            >
            <EditText
                android:cursorVisible="false"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@null"
                android:layout_marginLeft="15dp"
                android:layout_marginTop="10dp"
                android:layout_marginBottom="10dp"
                android:hint="收货人姓名"
                android:textSize="13sp"
                android:textColorHint="@color/milk_white"
                android:textColor="@color/milk_white"
                />
        LinearLayout>

        <com.example.administrator.customview.CustomTextView
            android:layout_width="match_parent"
            android:layout_height="0.1px"
            android:layout_marginLeft="15dp"
            android:layout_below="@+id/myaddress_linerlayout"
            android:background="@color/milk_white"
            />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="horizontal"
            android:gravity="center_horizontal|left"
            android:background="@color/white"
            >
            <EditText
                android:cursorVisible="false"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@null"
                android:layout_marginLeft="15dp"
                android:layout_marginTop="10dp"
                android:layout_marginBottom="10dp"
                android:hint="联系电话"
                android:textSize="13sp"
                android:textColorHint="@color/milk_white"
                android:textColor="@color/milk_white"
                />
        LinearLayout>

        <com.example.administrator.customview.CustomTextView
            android:layout_width="match_parent"
            android:layout_height="0.1px"
            android:layout_marginLeft="15dp"
            android:layout_below="@+id/myaddress_linerlayout"
            android:background="@color/milk_white"
            />

        <LinearLayout
            android:id="@+id/addsite_linearlayout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="horizontal"
            android:gravity="center_horizontal|left"
            android:background="@color/white"
            >
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginRight="15dp"
                android:layout_weight="1"
                android:orientation="horizontal"
                android:gravity="center">

                <com.example.administrator.customview.CustomTextView
                    android:id="@+id/addsite_txt"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:layout_marginTop="10dp"
                    android:layout_marginBottom="10dp"
                    android:text="添加地址"
                    android:layout_marginLeft="15dp"
                    android:textColor="#292421"
                    android:textSize="14dp"/>

            LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_marginRight="15dp"
                android:layout_weight="9"
                android:orientation="vertical"
                android:gravity="center_vertical|right">

                <ImageView
                    android:layout_width="8dp"
                    android:layout_height="14dp"
                    android:background="@mipmap/jiantouduo"/>
            LinearLayout>

        LinearLayout>

        <com.example.administrator.customview.CustomTextView
            android:layout_width="match_parent"
            android:layout_height="0.1px"
            android:layout_marginLeft="15dp"
            android:layout_below="@+id/myaddress_linerlayout"
            android:background="@color/milk_white"
            />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="horizontal"
            android:gravity="center_horizontal|left"
            android:background="@color/white"
            >
            <EditText
                android:cursorVisible="false"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@null"
                android:layout_marginLeft="15dp"
                android:layout_marginTop="10dp"
                android:layout_marginBottom="10dp"
                android:hint="详细地址"
                android:textSize="13sp"
                android:textColorHint="@color/milk_white"
                android:textColor="@color/milk_white"
                />
        LinearLayout>

        <com.example.administrator.customview.CustomTextView
            android:layout_width="match_parent"
            android:layout_height="0.1px"
            android:layout_marginLeft="15dp"
            android:layout_below="@+id/myaddress_linerlayout"
            android:background="@color/milk_white"
            />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="horizontal"
            android:gravity="center_horizontal|left"
            android:background="@color/white"
            >
            <EditText
                android:cursorVisible="false"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@null"
                android:layout_marginLeft="15dp"
                android:layout_marginTop="10dp"
                android:layout_marginBottom="10dp"
                android:hint="邮政编码"
                android:textSize="13sp"
                android:textColorHint="@color/milk_white"
                android:textColor="@color/milk_white"
                />
        LinearLayout>
        <com.example.administrator.customview.CustomTextView
            android:layout_width="match_parent"
            android:layout_height="0.1px"
            android:layout_below="@+id/myaddress_linerlayout"
            android:background="@color/milk_white"
            />
    LinearLayout>

    
    <LinearLayout
        android:layout_below="@+id/shouhuodizhi"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_marginTop="20dp"
        android:gravity="center_horizontal">

        <LinearLayout
            android:id="@+id/fillinaddress_linearlayout"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_marginTop="15dp"
            android:layout_marginBottom="15dp"
            android:paddingTop="1dp"
            android:paddingBottom="1dp"
            android:paddingRight="1dp"
            android:paddingLeft="1dp"
            android:orientation="horizontal"
            android:gravity="left"
            android:background="@drawable/drawable_xxmdpi">
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical"
                android:gravity="center_horizontal"
                android:background="@drawable/drawable_xmdpi">
                <com.example.administrator.customview.CustomTextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="保  存"
                    android:layout_marginTop="5dp"
                    android:layout_marginLeft="65dp"
                    android:layout_marginBottom="5dp"
                    android:layout_marginRight="65dp"
                    android:textColor="#d9cfae"
                    android:textSize="16dp"
                    />
            LinearLayout>
        LinearLayout>
    LinearLayout>
RelativeLayout>

ok!到这里差不多就实现了标题上的功能了。

你可能感兴趣的:(Android开发)