1.簡介
在項目里遇到了地區(qū)選擇,并非在一個選擇框中選擇,產(chǎn)品要求顯示三個選擇框分別選擇,現(xiàn)記錄下實現(xiàn)過程,以備后用。
2.效果圖
area_select.png
選擇省
province_select.png
選擇市
city_select.png
選擇區(qū)縣
county_select.png
3.實現(xiàn)
根據(jù)數(shù)據(jù)結(jié)構(gòu),構(gòu)建實體類
/**
* area_id_parent : 0
* id : 4
* name : 河北省
* second : [{"area_id_parent":"4","id":"73","name":"石家莊市","three":[{"area_id_parent":"73","id":"74","name":"長安區(qū)"},{"area_id_parent":"73","id":"75","name":"橋東區(qū)"},{"area_id_parent":"73","id":"76","name":"橋西區(qū)"},{"area_id_parent":"73","id":"77","name":"新華區(qū)"},{"area_id_parent":"73","id":"78","name":"井陘礦區(qū)"},{"area_id_parent":"73","id":"79","name":"裕華區(qū)"},{"area_id_parent":"73","id":"80","name":"井陘縣"},{"area_id_parent":"73","id":"81","name":"正定縣"},{"area_id_parent":"73","id":"82","name":"欒城縣"},{"area_id_parent":"73","id":"83","name":"行唐縣"},{"area_id_parent":"73","id":"84","name":"靈壽縣"},{"area_id_parent":"73","id":"85","name":"高邑縣"},{"area_id_parent":"73","id":"86","name":"深澤縣"},{"area_id_parent":"73","id":"87","name":"贊皇縣"},{"area_id_parent":"73","id":"88","name":"無極縣"},{"area_id_parent":"73","id":"89","name":"平山縣"},{"area_id_parent":"73","id":"90","name":"元氏縣"},{"area_id_parent":"73","id":"91","name":"趙縣"},{"area_id_parent":"73","id":"92","name":"辛集市"},{"area_id_parent":"73","id":"93","name":"藁城市"},{"area_id_parent":"73","id":"94","name":"晉州市"},{"area_id_parent":"73","id":"95","name":"新樂市"},{"area_id_parent":"73","id":"96","name":"鹿泉市"}]},{"area_id_parent":"4","id":"97","name":"唐山市","three":[{"area_id_parent":"97","id":"98","name":"路南區(qū)"},{"area_id_parent":"97","id":"99","name":"路北區(qū)"},{"area_id_parent":"97","id":"100","name":"古冶區(qū)"},{"area_id_parent":"97","id":"101","name":"開平區(qū)"},{"area_id_parent":"97","id":"102","name":"豐南區(qū)"},{"area_id_parent":"97","id":"103","name":"豐潤區(qū)"},{"area_id_parent":"97","id":"104","name":"灤縣"},{"area_id_parent":"97","id":"105","name":"灤南縣"},{"area_id_parent":"97","id":"106","name":"樂亭縣"},{"area_id_parent":"97","id":"107","name":"遷西縣"},{"area_id_parent":"97","id":"108","name":"玉田縣"},{"area_id_parent":"97","id":"109","name":"唐海縣"},{"area_id_parent":"97","id":"110","name":"遵化市"},{"area_id_parent":"97","id":"111","name":"遷安市"}]},{"area_id_parent":"4","id":"112","name":"秦皇島市","three":[{"area_id_parent":"112","id":"113","name":"海港區(qū)"},{"area_id_parent":"112","id":"114","name":"山海關(guān)區(qū)"},{"area_id_parent":"112","id":"115","name":"北戴河區(qū)"},{"area_id_parent":"112","id":"116","name":"青龍滿族自治縣"},{"area_id_parent":"112","id":"117","name":"昌黎縣"},{"area_id_parent":"112","id":"118","name":"撫寧縣"},{"area_id_parent":"112","id":"119","name":"盧龍縣"}]},{"area_id_parent":"4","id":"120","name":"邯鄲市","three":[{"area_id_parent":"120","id":"121","name":"邯山區(qū)"},{"area_id_parent":"120","id":"122","name":"叢臺區(qū)"},{"area_id_parent":"120","id":"123","name":"復(fù)興區(qū)"},{"area_id_parent":"120","id":"124","name":"峰峰礦區(qū)"},{"area_id_parent":"120","id":"125","name":"邯鄲縣"},{"area_id_parent":"120","id":"126","name":"臨漳縣"},{"area_id_parent":"120","id":"127","name":"成安縣"},{"area_id_parent":"120","id":"128","name":"大名縣"},{"area_id_parent":"120","id":"129","name":"涉縣"},{"area_id_parent":"120","id":"130","name":"磁縣"},{"area_id_parent":"120","id":"131","name":"肥鄉(xiāng)縣"},{"area_id_parent":"120","id":"132","name":"永年縣"},{"area_id_parent":"120","id":"133","name":"邱縣"},{"area_id_parent":"120","id":"134","name":"雞澤縣"},{"area_id_parent":"120","id":"135","name":"廣平縣"},{"area_id_parent":"120","id":"136","name":"館陶縣"},{"area_id_parent":"120","id":"137","name":"魏縣"},{"area_id_parent":"120","id":"138","name":"曲周縣"},{"area_id_parent":"120","id":"139","name":"武安市"}]},{"area_id_parent":"4","id":"140","name":"邢臺市","three":[{"area_id_parent":"140","id":"141","name":"橋東區(qū)"},{"area_id_parent":"140","id":"142","name":"橋西區(qū)"},{"area_id_parent":"140","id":"143","name":"邢臺縣"},{"area_id_parent":"140","id":"144","name":"臨城縣"},{"area_id_parent":"140","id":"145","name":"內(nèi)丘縣"},{"area_id_parent":"140","id":"146","name":"柏鄉(xiāng)縣"},{"area_id_parent":"140","id":"147","name":"隆堯縣"},{"area_id_parent":"140","id":"148","name":"任縣"},{"area_id_parent":"140","id":"149","name":"南和縣"},{"area_id_parent":"140","id":"150","name":"寧晉縣"},{"area_id_parent":"140","id":"151","name":"巨鹿縣"},{"area_id_parent":"140","id":"152","name":"新河縣"},{"area_id_parent":"140","id":"153","name":"廣宗縣"},{"area_id_parent":"140","id":"154","name":"平鄉(xiāng)縣"},{"area_id_parent":"140","id":"155","name":"威縣"},{"area_id_parent":"140","id":"156","name":"清河縣"},{"area_id_parent":"140","id":"157","name":"臨西縣"},{"area_id_parent":"140","id":"158","name":"南宮市"},{"area_id_parent":"140","id":"159","name":"沙河市"}]},{"area_id_parent":"4","id":"160","name":"保定市","three":[{"area_id_parent":"160","id":"161","name":"新市區(qū)"},{"area_id_parent":"160","id":"162","name":"北市區(qū)"},{"area_id_parent":"160","id":"163","name":"南市區(qū)"},{"area_id_parent":"160","id":"164","name":"滿城縣"},{"area_id_parent":"160","id":"165","name":"清苑縣"},{"area_id_parent":"160","id":"166","name":"淶水縣"},{"area_id_parent":"160","id":"167","name":"阜平縣"},{"area_id_parent":"160","id":"168","name":"徐水縣"},{"area_id_parent":"160","id":"169","name":"定興縣"},{"area_id_parent":"160","id":"170","name":"唐縣"},{"area_id_parent":"160","id":"171","name":"高陽縣"},{"area_id_parent":"160","id":"172","name":"容城縣"},{"area_id_parent":"160","id":"173","name":"淶源縣"},{"area_id_parent":"160","id":"174","name":"望都縣"},{"area_id_parent":"160","id":"175","name":"安新縣"},{"area_id_parent":"160","id":"176","name":"易縣"},{"area_id_parent":"160","id":"177","name":"曲陽縣"},{"area_id_parent":"160","id":"178","name":"蠡縣"},{"area_id_parent":"160","id":"179","name":"順平縣"},{"area_id_parent":"160","id":"180","name":"博野縣"},{"area_id_parent":"160","id":"181","name":"雄縣"},{"area_id_parent":"160","id":"182","name":"涿州市"},{"area_id_parent":"160","id":"183","name":"定州市"},{"area_id_parent":"160","id":"184","name":"安國市"},{"area_id_parent":"160","id":"185","name":"高碑店市"}]},{"area_id_parent":"4","id":"186","name":"張家口市","three":[{"area_id_parent":"186","id":"187","name":"橋東區(qū)"},{"area_id_parent":"186","id":"188","name":"橋西區(qū)"},{"area_id_parent":"186","id":"189","name":"宣化區(qū)"},{"area_id_parent":"186","id":"190","name":"下花園區(qū)"},{"area_id_parent":"186","id":"191","name":"宣化縣"},{"area_id_parent":"186","id":"192","name":"張北縣"},{"area_id_parent":"186","id":"193","name":"康保縣"},{"area_id_parent":"186","id":"194","name":"沽源縣"},{"area_id_parent":"186","id":"195","name":"尚義縣"},{"area_id_parent":"186","id":"196","name":"蔚縣"},{"area_id_parent":"186","id":"197","name":"陽原縣"},{"area_id_parent":"186","id":"198","name":"懷安縣"},{"area_id_parent":"186","id":"199","name":"萬全縣"},{"area_id_parent":"186","id":"200","name":"懷來縣"},{"area_id_parent":"186","id":"201","name":"涿鹿縣"},{"area_id_parent":"186","id":"202","name":"赤城縣"},{"area_id_parent":"186","id":"203","name":"崇禮縣"}]},{"area_id_parent":"4","id":"204","name":"承德市","three":[{"area_id_parent":"204","id":"205","name":"雙橋區(qū)"},{"area_id_parent":"204","id":"206","name":"雙灤區(qū)"},{"area_id_parent":"204","id":"207","name":"鷹手營子礦區(qū)"},{"area_id_parent":"204","id":"208","name":"承德縣"},{"area_id_parent":"204","id":"209","name":"興隆縣"},{"area_id_parent":"204","id":"210","name":"平泉縣"},{"area_id_parent":"204","id":"211","name":"灤平縣"},{"area_id_parent":"204","id":"212","name":"隆化縣"},{"area_id_parent":"204","id":"213","name":"豐寧滿族自治縣"},{"area_id_parent":"204","id":"214","name":"寬城滿族自治縣"},{"area_id_parent":"204","id":"215","name":"圍場滿族蒙古族自治縣"}]},{"area_id_parent":"4","id":"216","name":"滄州市","three":[{"area_id_parent":"216","id":"217","name":"新華區(qū)"},{"area_id_parent":"216","id":"218","name":"運(yùn)河區(qū)"},{"area_id_parent":"216","id":"219","name":"滄縣"},{"area_id_parent":"216","id":"220","name":"青縣"},{"area_id_parent":"216","id":"221","name":"東光縣"},{"area_id_parent":"216","id":"222","name":"海興縣"},{"area_id_parent":"216","id":"223","name":"鹽山縣"},{"area_id_parent":"216","id":"224","name":"肅寧縣"},{"area_id_parent":"216","id":"225","name":"南皮縣"},{"area_id_parent":"216","id":"226","name":"吳橋縣"},{"area_id_parent":"216","id":"227","name":"獻(xiàn)縣"},{"area_id_parent":"216","id":"228","name":"孟村回族自治縣"},{"area_id_parent":"216","id":"229","name":"泊頭市"},{"area_id_parent":"216","id":"230","name":"任丘市"},{"area_id_parent":"216","id":"231","name":"黃驊市"},{"area_id_parent":"216","id":"232","name":"河間市"}]},{"area_id_parent":"4","id":"233","name":"廊坊市","three":[{"area_id_parent":"233","id":"234","name":"安次區(qū)"},{"area_id_parent":"233","id":"235","name":"廣陽區(qū)"},{"area_id_parent":"233","id":"236","name":"固安縣"},{"area_id_parent":"233","id":"237","name":"永清縣"},{"area_id_parent":"233","id":"238","name":"香河縣"},{"area_id_parent":"233","id":"239","name":"大城縣"},{"area_id_parent":"233","id":"240","name":"文安縣"},{"area_id_parent":"233","id":"241","name":"大廠回族自治縣"},{"area_id_parent":"233","id":"242","name":"霸州市"},{"area_id_parent":"233","id":"243","name":"三河市"}]},{"area_id_parent":"4","id":"244","name":"衡水市","three":[{"area_id_parent":"244","id":"245","name":"桃城區(qū)"},{"area_id_parent":"244","id":"246","name":"棗強(qiáng)縣"},{"area_id_parent":"244","id":"247","name":"武邑縣"},{"area_id_parent":"244","id":"248","name":"武強(qiáng)縣"},{"area_id_parent":"244","id":"249","name":"饒陽縣"},{"area_id_parent":"244","id":"250","name":"安平縣"},{"area_id_parent":"244","id":"251","name":"故城縣"},{"area_id_parent":"244","id":"252","name":"景縣"},{"area_id_parent":"244","id":"253","name":"阜城縣"},{"area_id_parent":"244","id":"254","name":"冀州市"},{"area_id_parent":"244","id":"255","name":"深州市"}]}]
*/
private String area_id_parent;
private String id;
private String name;
private ArrayList<SecondEntity> second;
public String getArea_id_parent() {
return area_id_parent;
}
public void setArea_id_parent(String area_id_parent) {
this.area_id_parent = area_id_parent;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public ArrayList<SecondEntity> getSecond() {
return second;
}
public void setSecond(ArrayList<SecondEntity> second) {
this.second = second;
}
@Override
public String toString() {
return name;
}
public static class SecondEntity implements Serializable {
private String area_id_parent;
private String id;
private String name;
@Override
public String toString() {
return name;
}
private ArrayList<ThreeEntity> three;
public String getArea_id_parent() {
return area_id_parent;
}
public void setArea_id_parent(String area_id_parent) {
this.area_id_parent = area_id_parent;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public ArrayList<ThreeEntity> getThree() {
return three;
}
public void setThree(ArrayList<ThreeEntity> three) {
this.three = three;
}
public static class ThreeEntity implements Serializable {
private String area_id_parent;
private String id;
private String name;
public String getArea_id_parent() {
return area_id_parent;
}
public void setArea_id_parent(String area_id_parent) {
this.area_id_parent = area_id_parent;
}
@Override
public String toString() {
return name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
}
在布局文件中使用TextView構(gòu)建顯示
<LinearLayout
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_marginTop="10dp"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_province"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/btn_boder_white_3dp"
android:drawablePadding="6dp"
android:drawableRight="@mipmap/arrow_down"
android:gravity="center"
android:paddingLeft="12dp"
android:paddingRight="10dp"
android:singleLine="true"
android:text="請選擇省份"
android:textColor="#333333"
android:textSize="14dp" />
<TextView
android:id="@+id/tv_city"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="9dp"
android:layout_weight="1"
android:background="@drawable/btn_boder_white_3dp"
android:drawablePadding="6dp"
android:drawableRight="@mipmap/arrow_down"
android:gravity="center"
android:paddingLeft="12dp"
android:paddingRight="10dp"
android:singleLine="true"
android:text="請選擇城市"
android:textColor="#333333"
android:textSize="14dp" />
<TextView
android:id="@+id/tv_county"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="9dp"
android:layout_weight="1"
android:background="@drawable/btn_boder_white_3dp"
android:drawablePadding="6dp"
android:drawableRight="@mipmap/arrow_down"
android:gravity="center"
android:paddingLeft="12dp"
android:paddingRight="10dp"
android:singleLine="true"
android:text="請選擇縣區(qū)"
android:textColor="#333333"
android:textSize="14dp" />
</LinearLayout>
定義變量
public final static String HONG_KONG = "香港特別行政區(qū)";
public final static String MA_KAO = "澳門特別行政區(qū)";
private static final int HONG_KONG_OR_AO_MEN = -1;
//用于標(biāo)識請求地區(qū)信息的類型,
// 0表示進(jìn)界面時的請求,
// 1表示點擊選擇省之后的請求
// 2表示點擊選擇市之后的請求
// 3表示點擊選擇區(qū)之后的請求
private int flag = 0;
點擊選擇省
tvProvince.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
flag = 1;
if (proviceEntityList == null) {
requestArea();//如果省級數(shù)據(jù)為null就請求數(shù)據(jù)
} else {//有數(shù)據(jù)就直接顯示
mHandler.sendEmptyMessage(SHOW_PROVINCE);
}
}
});
這里數(shù)據(jù)使用模擬數(shù)據(jù)
private void requestArea(){
String areaJson = "[{\"area_id_parent\":\"0\",\"id\":\"2\",\"name\":\"北京市\(zhòng)",\"second\":[{\"area_id_parent\":\"0\",\"id\":\"2\",\"name\":\"北京市\(zhòng)",\"three\":[{\"area_id_parent\":\"2\",\"id\":\"37\",\"name\":\"東城區(qū)\"},{\"area_id_parent\":\"2\",\"id\":\"38\",\"name\":\"西城區(qū)\"},{\"area_id_parent\":\"2\",\"id\":\"39\",\"name\":\"崇文區(qū)\"},{\"area_id_parent\":\"2\",\"id\":\"40\",\"name\":\"宣武區(qū)\"},{\"area_id_parent\":\"2\",\"id\":\"41\",\"name\":\"朝陽區(qū)\"},{\"area_id_parent\":\"2\",\"id\":\"42\",\"name\":\"豐臺區(qū)\"},{\"area_id_parent\":\"2\",\"id\":\"43\",\"name\":\"石景山區(qū)\"},{\"area_id_parent\":\"2\",\"id\":\"44\",\"name\":\"海淀區(qū)\"},{\"area_id_parent\":\"2\",\"id\":\"45\",\"name\":\"門頭溝區(qū)\"},{\"area_id_parent\":\"2\",\"id\":\"46\",\"name\":\"房山區(qū)\"},{\"area_id_parent\":\"2\",\"id\":\"47\",\"name\":\"通州區(qū)\"},{\"area_id_parent\":\"2\",\"id\":\"48\",\"name\":\"順義區(qū)\"},{\"area_id_parent\":\"2\",\"id\":\"49\",\"name\":\"昌平區(qū)\"},{\"area_id_parent\":\"2\",\"id\":\"50\",\"name\":\"大興區(qū)\"},{\"area_id_parent\":\"2\",\"id\":\"51\",\"name\":\"懷柔區(qū)\"},{\"area_id_parent\":\"2\",\"id\":\"52\",\"name\":\"平谷區(qū)\"},{\"area_id_parent\":\"2\",\"id\":\"53\",\"name\":\"密云縣\"},{\"area_id_parent\":\"2\",\"id\":\"54\",\"name\":\"延慶縣\"}]}]},\n" +
"{\"area_id_parent\":\"0\",\"id\":\"3\",\"name\":\"天津市\(zhòng)",\"second\":[{\"area_id_parent\":\"0\",\"id\":\"3\",\"name\":\"天津市\(zhòng)",\"three\":[{\"area_id_parent\":\"3\",\"id\":\"55\",\"name\":\"和平區(qū)\"},{\"area_id_parent\":\"3\",\"id\":\"56\",\"name\":\"河?xùn)|區(qū)\"},{\"area_id_parent\":\"3\",\"id\":\"57\",\"name\":\"河西區(qū)\"},{\"area_id_parent\":\"3\",\"id\":\"58\",\"name\":\"南開區(qū)\"},{\"area_id_parent\":\"3\",\"id\":\"59\",\"name\":\"河北區(qū)\"},{\"area_id_parent\":\"3\",\"id\":\"60\",\"name\":\"紅橋區(qū)\"},{\"area_id_parent\":\"3\",\"id\":\"61\",\"name\":\"塘沽區(qū)\"},{\"area_id_parent\":\"3\",\"id\":\"62\",\"name\":\"漢沽區(qū)\"},{\"area_id_parent\":\"3\",\"id\":\"63\",\"name\":\"大港區(qū)\"},{\"area_id_parent\":\"3\",\"id\":\"64\",\"name\":\"東麗區(qū)\"},{\"area_id_parent\":\"3\",\"id\":\"65\",\"name\":\"西青區(qū)\"},{\"area_id_parent\":\"3\",\"id\":\"66\",\"name\":\"津南區(qū)\"},{\"area_id_parent\":\"3\",\"id\":\"67\",\"name\":\"北辰區(qū)\"},{\"area_id_parent\":\"3\",\"id\":\"68\",\"name\":\"武清區(qū)\"},{\"area_id_parent\":\"3\",\"id\":\"69\",\"name\":\"寶坻區(qū)\"},{\"area_id_parent\":\"3\",\"id\":\"70\",\"name\":\"寧河縣\"},{\"area_id_parent\":\"3\",\"id\":\"71\",\"name\":\"靜海縣\"},{\"area_id_parent\":\"3\",\"id\":\"72\",\"name\":\"薊縣\"},{\"area_id_parent\":\"3\",\"id\":\"3190\",\"name\":\"濱海新區(qū)\"}]}]},\n" +
"{\"area_id_parent\":\"0\",\"id\":\"4\",\"name\":\"河北省\",\"second\":[{\"area_id_parent\":\"4\",\"id\":\"73\",\"name\":\"石家莊市\(zhòng)",\"three\":[{\"area_id_parent\":\"73\",\"id\":\"74\",\"name\":\"長安區(qū)\"},{\"area_id_parent\":\"73\",\"id\":\"75\",\"name\":\"橋東區(qū)\"},{\"area_id_parent\":\"73\",\"id\":\"76\",\"name\":\"橋西區(qū)\"},{\"area_id_parent\":\"73\",\"id\":\"77\",\"name\":\"新華區(qū)\"},{\"area_id_parent\":\"73\",\"id\":\"78\",\"name\":\"井陘礦區(qū)\"},{\"area_id_parent\":\"73\",\"id\":\"79\",\"name\":\"裕華區(qū)\"},{\"area_id_parent\":\"73\",\"id\":\"80\",\"name\":\"井陘縣\"},{\"area_id_parent\":\"73\",\"id\":\"81\",\"name\":\"正定縣\"},{\"area_id_parent\":\"73\",\"id\":\"82\",\"name\":\"欒城縣\"},{\"area_id_parent\":\"73\",\"id\":\"83\",\"name\":\"行唐縣\"},{\"area_id_parent\":\"73\",\"id\":\"84\",\"name\":\"靈壽縣\"},{\"area_id_parent\":\"73\",\"id\":\"85\",\"name\":\"高邑縣\"},{\"area_id_parent\":\"73\",\"id\":\"86\",\"name\":\"深澤縣\"},{\"area_id_parent\":\"73\",\"id\":\"87\",\"name\":\"贊皇縣\"},{\"area_id_parent\":\"73\",\"id\":\"88\",\"name\":\"無極縣\"},{\"area_id_parent\":\"73\",\"id\":\"89\",\"name\":\"平山縣\"},{\"area_id_parent\":\"73\",\"id\":\"90\",\"name\":\"元氏縣\"},{\"area_id_parent\":\"73\",\"id\":\"91\",\"name\":\"趙縣\"},{\"area_id_parent\":\"73\",\"id\":\"92\",\"name\":\"辛集市\(zhòng)"},{\"area_id_parent\":\"73\",\"id\":\"93\",\"name\":\"藁城市\(zhòng)"},{\"area_id_parent\":\"73\",\"id\":\"94\",\"name\":\"晉州市\(zhòng)"},{\"area_id_parent\":\"73\",\"id\":\"95\",\"name\":\"新樂市\(zhòng)"},{\"area_id_parent\":\"73\",\"id\":\"96\",\"name\":\"鹿泉市\(zhòng)"}]},{\"area_id_parent\":\"4\",\"id\":\"97\",\"name\":\"唐山市\(zhòng)",\"three\":[{\"area_id_parent\":\"97\",\"id\":\"98\",\"name\":\"路南區(qū)\"},{\"area_id_parent\":\"97\",\"id\":\"99\",\"name\":\"路北區(qū)\"},{\"area_id_parent\":\"97\",\"id\":\"100\",\"name\":\"古冶區(qū)\"},{\"area_id_parent\":\"97\",\"id\":\"101\",\"name\":\"開平區(qū)\"},{\"area_id_parent\":\"97\",\"id\":\"102\",\"name\":\"豐南區(qū)\"},{\"area_id_parent\":\"97\",\"id\":\"103\",\"name\":\"豐潤區(qū)\"},{\"area_id_parent\":\"97\",\"id\":\"104\",\"name\":\"灤縣\"},{\"area_id_parent\":\"97\",\"id\":\"105\",\"name\":\"灤南縣\"},{\"area_id_parent\":\"97\",\"id\":\"106\",\"name\":\"樂亭縣\"},{\"area_id_parent\":\"97\",\"id\":\"107\",\"name\":\"遷西縣\"},{\"area_id_parent\":\"97\",\"id\":\"108\",\"name\":\"玉田縣\"},{\"area_id_parent\":\"97\",\"id\":\"109\",\"name\":\"唐海縣\"},{\"area_id_parent\":\"97\",\"id\":\"110\",\"name\":\"遵化市\(zhòng)"},{\"area_id_parent\":\"97\",\"id\":\"111\",\"name\":\"遷安市\(zhòng)"}]},{\"area_id_parent\":\"4\",\"id\":\"112\",\"name\":\"秦皇島市\(zhòng)",\"three\":[{\"area_id_parent\":\"112\",\"id\":\"113\",\"name\":\"海港區(qū)\"},{\"area_id_parent\":\"112\",\"id\":\"114\",\"name\":\"山海關(guān)區(qū)\"},{\"area_id_parent\":\"112\",\"id\":\"115\",\"name\":\"北戴河區(qū)\"},{\"area_id_parent\":\"112\",\"id\":\"116\",\"name\":\"青龍滿族自治縣\"},{\"area_id_parent\":\"112\",\"id\":\"117\",\"name\":\"昌黎縣\"},{\"area_id_parent\":\"112\",\"id\":\"118\",\"name\":\"撫寧縣\"},{\"area_id_parent\":\"112\",\"id\":\"119\",\"name\":\"盧龍縣\"}]},{\"area_id_parent\":\"4\",\"id\":\"120\",\"name\":\"邯鄲市\(zhòng)",\"three\":[{\"area_id_parent\":\"120\",\"id\":\"121\",\"name\":\"邯山區(qū)\"},{\"area_id_parent\":\"120\",\"id\":\"122\",\"name\":\"叢臺區(qū)\"},{\"area_id_parent\":\"120\",\"id\":\"123\",\"name\":\"復(fù)興區(qū)\"},{\"area_id_parent\":\"120\",\"id\":\"124\",\"name\":\"峰峰礦區(qū)\"},{\"area_id_parent\":\"120\",\"id\":\"125\",\"name\":\"邯鄲縣\"},{\"area_id_parent\":\"120\",\"id\":\"126\",\"name\":\"臨漳縣\"},{\"area_id_parent\":\"120\",\"id\":\"127\",\"name\":\"成安縣\"},{\"area_id_parent\":\"120\",\"id\":\"128\",\"name\":\"大名縣\"},{\"area_id_parent\":\"120\",\"id\":\"129\",\"name\":\"涉縣\"},{\"area_id_parent\":\"120\",\"id\":\"130\",\"name\":\"磁縣\"},{\"area_id_parent\":\"120\",\"id\":\"131\",\"name\":\"肥鄉(xiāng)縣\"},{\"area_id_parent\":\"120\",\"id\":\"132\",\"name\":\"永年縣\"},{\"area_id_parent\":\"120\",\"id\":\"133\",\"name\":\"邱縣\"},{\"area_id_parent\":\"120\",\"id\":\"134\",\"name\":\"雞澤縣\"},{\"area_id_parent\":\"120\",\"id\":\"135\",\"name\":\"廣平縣\"},{\"area_id_parent\":\"120\",\"id\":\"136\",\"name\":\"館陶縣\"},{\"area_id_parent\":\"120\",\"id\":\"137\",\"name\":\"魏縣\"},{\"area_id_parent\":\"120\",\"id\":\"138\",\"name\":\"曲周縣\"},{\"area_id_parent\":\"120\",\"id\":\"139\",\"name\":\"武安市\(zhòng)"}]},{\"area_id_parent\":\"4\",\"id\":\"140\",\"name\":\"邢臺市\(zhòng)",\"three\":[{\"area_id_parent\":\"140\",\"id\":\"141\",\"name\":\"橋東區(qū)\"},{\"area_id_parent\":\"140\",\"id\":\"142\",\"name\":\"橋西區(qū)\"},{\"area_id_parent\":\"140\",\"id\":\"143\",\"name\":\"邢臺縣\"},{\"area_id_parent\":\"140\",\"id\":\"144\",\"name\":\"臨城縣\"},{\"area_id_parent\":\"140\",\"id\":\"145\",\"name\":\"內(nèi)丘縣\"},{\"area_id_parent\":\"140\",\"id\":\"146\",\"name\":\"柏鄉(xiāng)縣\"},{\"area_id_parent\":\"140\",\"id\":\"147\",\"name\":\"隆堯縣\"},{\"area_id_parent\":\"140\",\"id\":\"148\",\"name\":\"任縣\"},{\"area_id_parent\":\"140\",\"id\":\"149\",\"name\":\"南和縣\"},{\"area_id_parent\":\"140\",\"id\":\"150\",\"name\":\"寧晉縣\"},{\"area_id_parent\":\"140\",\"id\":\"151\",\"name\":\"巨鹿縣\"},{\"area_id_parent\":\"140\",\"id\":\"152\",\"name\":\"新河縣\"},{\"area_id_parent\":\"140\",\"id\":\"153\",\"name\":\"廣宗縣\"},{\"area_id_parent\":\"140\",\"id\":\"154\",\"name\":\"平鄉(xiāng)縣\"},{\"area_id_parent\":\"140\",\"id\":\"155\",\"name\":\"威縣\"},{\"area_id_parent\":\"140\",\"id\":\"156\",\"name\":\"清河縣\"},{\"area_id_parent\":\"140\",\"id\":\"157\",\"name\":\"臨西縣\"},{\"area_id_parent\":\"140\",\"id\":\"158\",\"name\":\"南宮市\(zhòng)"},{\"area_id_parent\":\"140\",\"id\":\"159\",\"name\":\"沙河市\(zhòng)"}]},{\"area_id_parent\":\"4\",\"id\":\"160\",\"name\":\"保定市\(zhòng)",\"three\":[{\"area_id_parent\":\"160\",\"id\":\"161\",\"name\":\"新市區(qū)\"},{\"area_id_parent\":\"160\",\"id\":\"162\",\"name\":\"北市區(qū)\"},{\"area_id_parent\":\"160\",\"id\":\"163\",\"name\":\"南市區(qū)\"},{\"area_id_parent\":\"160\",\"id\":\"164\",\"name\":\"滿城縣\"},{\"area_id_parent\":\"160\",\"id\":\"165\",\"name\":\"清苑縣\"},{\"area_id_parent\":\"160\",\"id\":\"166\",\"name\":\"淶水縣\"},{\"area_id_parent\":\"160\",\"id\":\"167\",\"name\":\"阜平縣\"},{\"area_id_parent\":\"160\",\"id\":\"168\",\"name\":\"徐水縣\"},{\"area_id_parent\":\"160\",\"id\":\"169\",\"name\":\"定興縣\"},{\"area_id_parent\":\"160\",\"id\":\"170\",\"name\":\"唐縣\"},{\"area_id_parent\":\"160\",\"id\":\"171\",\"name\":\"高陽縣\"},{\"area_id_parent\":\"160\",\"id\":\"172\",\"name\":\"容城縣\"},{\"area_id_parent\":\"160\",\"id\":\"173\",\"name\":\"淶源縣\"},{\"area_id_parent\":\"160\",\"id\":\"174\",\"name\":\"望都縣\"},{\"area_id_parent\":\"160\",\"id\":\"175\",\"name\":\"安新縣\"},{\"area_id_parent\":\"160\",\"id\":\"176\",\"name\":\"易縣\"},{\"area_id_parent\":\"160\",\"id\":\"177\",\"name\":\"曲陽縣\"},{\"area_id_parent\":\"160\",\"id\":\"178\",\"name\":\"蠡縣\"},{\"area_id_parent\":\"160\",\"id\":\"179\",\"name\":\"順平縣\"},{\"area_id_parent\":\"160\",\"id\":\"180\",\"name\":\"博野縣\"},{\"area_id_parent\":\"160\",\"id\":\"181\",\"name\":\"雄縣\"},{\"area_id_parent\":\"160\",\"id\":\"182\",\"name\":\"涿州市\(zhòng)"},{\"area_id_parent\":\"160\",\"id\":\"183\",\"name\":\"定州市\(zhòng)"},{\"area_id_parent\":\"160\",\"id\":\"184\",\"name\":\"安國市\(zhòng)"},{\"area_id_parent\":\"160\",\"id\":\"185\",\"name\":\"高碑店市\(zhòng)"}]},{\"area_id_parent\":\"4\",\"id\":\"186\",\"name\":\"張家口市\(zhòng)",\"three\":[{\"area_id_parent\":\"186\",\"id\":\"187\",\"name\":\"橋東區(qū)\"},{\"area_id_parent\":\"186\",\"id\":\"188\",\"name\":\"橋西區(qū)\"},{\"area_id_parent\":\"186\",\"id\":\"189\",\"name\":\"宣化區(qū)\"},{\"area_id_parent\":\"186\",\"id\":\"190\",\"name\":\"下花園區(qū)\"},{\"area_id_parent\":\"186\",\"id\":\"191\",\"name\":\"宣化縣\"},{\"area_id_parent\":\"186\",\"id\":\"192\",\"name\":\"張北縣\"},{\"area_id_parent\":\"186\",\"id\":\"193\",\"name\":\"康保縣\"},{\"area_id_parent\":\"186\",\"id\":\"194\",\"name\":\"沽源縣\"},{\"area_id_parent\":\"186\",\"id\":\"195\",\"name\":\"尚義縣\"},{\"area_id_parent\":\"186\",\"id\":\"196\",\"name\":\"蔚縣\"},{\"area_id_parent\":\"186\",\"id\":\"197\",\"name\":\"陽原縣\"},{\"area_id_parent\":\"186\",\"id\":\"198\",\"name\":\"懷安縣\"},{\"area_id_parent\":\"186\",\"id\":\"199\",\"name\":\"萬全縣\"},{\"area_id_parent\":\"186\",\"id\":\"200\",\"name\":\"懷來縣\"},{\"area_id_parent\":\"186\",\"id\":\"201\",\"name\":\"涿鹿縣\"},{\"area_id_parent\":\"186\",\"id\":\"202\",\"name\":\"赤城縣\"},{\"area_id_parent\":\"186\",\"id\":\"203\",\"name\":\"崇禮縣\"}]},{\"area_id_parent\":\"4\",\"id\":\"204\",\"name\":\"承德市\(zhòng)",\"three\":[{\"area_id_parent\":\"204\",\"id\":\"205\",\"name\":\"雙橋區(qū)\"},{\"area_id_parent\":\"204\",\"id\":\"206\",\"name\":\"雙灤區(qū)\"},{\"area_id_parent\":\"204\",\"id\":\"207\",\"name\":\"鷹手營子礦區(qū)\"},{\"area_id_parent\":\"204\",\"id\":\"208\",\"name\":\"承德縣\"},{\"area_id_parent\":\"204\",\"id\":\"209\",\"name\":\"興隆縣\"},{\"area_id_parent\":\"204\",\"id\":\"210\",\"name\":\"平泉縣\"},{\"area_id_parent\":\"204\",\"id\":\"211\",\"name\":\"灤平縣\"},{\"area_id_parent\":\"204\",\"id\":\"212\",\"name\":\"隆化縣\"},{\"area_id_parent\":\"204\",\"id\":\"213\",\"name\":\"豐寧滿族自治縣\"},{\"area_id_parent\":\"204\",\"id\":\"214\",\"name\":\"寬城滿族自治縣\"},{\"area_id_parent\":\"204\",\"id\":\"215\",\"name\":\"圍場滿族蒙古族自治縣\"}]},{\"area_id_parent\":\"4\",\"id\":\"216\",\"name\":\"滄州市\(zhòng)",\"three\":[{\"area_id_parent\":\"216\",\"id\":\"217\",\"name\":\"新華區(qū)\"},{\"area_id_parent\":\"216\",\"id\":\"218\",\"name\":\"運(yùn)河區(qū)\"},{\"area_id_parent\":\"216\",\"id\":\"219\",\"name\":\"滄縣\"},{\"area_id_parent\":\"216\",\"id\":\"220\",\"name\":\"青縣\"},{\"area_id_parent\":\"216\",\"id\":\"221\",\"name\":\"東光縣\"},{\"area_id_parent\":\"216\",\"id\":\"222\",\"name\":\"海興縣\"},{\"area_id_parent\":\"216\",\"id\":\"223\",\"name\":\"鹽山縣\"},{\"area_id_parent\":\"216\",\"id\":\"224\",\"name\":\"肅寧縣\"},{\"area_id_parent\":\"216\",\"id\":\"225\",\"name\":\"南皮縣\"},{\"area_id_parent\":\"216\",\"id\":\"226\",\"name\":\"吳橋縣\"},{\"area_id_parent\":\"216\",\"id\":\"227\",\"name\":\"獻(xiàn)縣\"},{\"area_id_parent\":\"216\",\"id\":\"228\",\"name\":\"孟村回族自治縣\"},{\"area_id_parent\":\"216\",\"id\":\"229\",\"name\":\"泊頭市\(zhòng)"},{\"area_id_parent\":\"216\",\"id\":\"230\",\"name\":\"任丘市\(zhòng)"},{\"area_id_parent\":\"216\",\"id\":\"231\",\"name\":\"黃驊市\(zhòng)"},{\"area_id_parent\":\"216\",\"id\":\"232\",\"name\":\"河間市\(zhòng)"}]},{\"area_id_parent\":\"4\",\"id\":\"233\",\"name\":\"廊坊市\(zhòng)",\"three\":[{\"area_id_parent\":\"233\",\"id\":\"234\",\"name\":\"安次區(qū)\"},{\"area_id_parent\":\"233\",\"id\":\"235\",\"name\":\"廣陽區(qū)\"},{\"area_id_parent\":\"233\",\"id\":\"236\",\"name\":\"固安縣\"},{\"area_id_parent\":\"233\",\"id\":\"237\",\"name\":\"永清縣\"},{\"area_id_parent\":\"233\",\"id\":\"238\",\"name\":\"香河縣\"},{\"area_id_parent\":\"233\",\"id\":\"239\",\"name\":\"大城縣\"},{\"area_id_parent\":\"233\",\"id\":\"240\",\"name\":\"文安縣\"},{\"area_id_parent\":\"233\",\"id\":\"241\",\"name\":\"大廠回族自治縣\"},{\"area_id_parent\":\"233\",\"id\":\"242\",\"name\":\"霸州市\(zhòng)"},{\"area_id_parent\":\"233\",\"id\":\"243\",\"name\":\"三河市\(zhòng)"}]},{\"area_id_parent\":\"4\",\"id\":\"244\",\"name\":\"衡水市\(zhòng)",\"three\":[{\"area_id_parent\":\"244\",\"id\":\"245\",\"name\":\"桃城區(qū)\"},{\"area_id_parent\":\"244\",\"id\":\"246\",\"name\":\"棗強(qiáng)縣\"},{\"area_id_parent\":\"244\",\"id\":\"247\",\"name\":\"武邑縣\"},{\"area_id_parent\":\"244\",\"id\":\"248\",\"name\":\"武強(qiáng)縣\"},{\"area_id_parent\":\"244\",\"id\":\"249\",\"name\":\"饒陽縣\"},{\"area_id_parent\":\"244\",\"id\":\"250\",\"name\":\"安平縣\"},{\"area_id_parent\":\"244\",\"id\":\"251\",\"name\":\"故城縣\"},{\"area_id_parent\":\"244\",\"id\":\"252\",\"name\":\"景縣\"},{\"area_id_parent\":\"244\",\"id\":\"253\",\"name\":\"阜城縣\"},{\"area_id_parent\":\"244\",\"id\":\"254\",\"name\":\"冀州市\(zhòng)"},{\"area_id_parent\":\"244\",\"id\":\"255\",\"name\":\"深州市\(zhòng)"}]}]},\n" +
"{\"area_id_parent\":\"0\",\"id\":\"33\",\"name\":\"新疆維吾爾自治區(qū)\",\"second\":[{\"area_id_parent\":\"33\",\"id\":\"3080\",\"name\":\"烏魯木齊市\(zhòng)",\"three\":[{\"area_id_parent\":\"3080\",\"id\":\"3081\",\"name\":\"天山區(qū)\"},{\"area_id_parent\":\"3080\",\"id\":\"3082\",\"name\":\"沙依巴克區(qū)\"},{\"area_id_parent\":\"3080\",\"id\":\"3083\",\"name\":\"新市區(qū)\"},{\"area_id_parent\":\"3080\",\"id\":\"3084\",\"name\":\"水磨溝區(qū)\"},{\"area_id_parent\":\"3080\",\"id\":\"3085\",\"name\":\"頭屯河區(qū)\"},{\"area_id_parent\":\"3080\",\"id\":\"3086\",\"name\":\"達(dá)坂城區(qū)\"},{\"area_id_parent\":\"3080\",\"id\":\"3087\",\"name\":\"米東區(qū)\"},{\"area_id_parent\":\"3080\",\"id\":\"3088\",\"name\":\"烏魯木齊縣\"}]},{\"area_id_parent\":\"33\",\"id\":\"3089\",\"name\":\"克拉瑪依市\(zhòng)",\"three\":[{\"area_id_parent\":\"3089\",\"id\":\"3090\",\"name\":\"獨山子區(qū)\"},{\"area_id_parent\":\"3089\",\"id\":\"3091\",\"name\":\"克拉瑪依區(qū)\"},{\"area_id_parent\":\"3089\",\"id\":\"3092\",\"name\":\"白堿灘區(qū)\"},{\"area_id_parent\":\"3089\",\"id\":\"3093\",\"name\":\"烏爾禾區(qū)\"}]},{\"area_id_parent\":\"33\",\"id\":\"3094\",\"name\":\"吐魯番地區(qū)\",\"three\":[{\"area_id_parent\":\"3094\",\"id\":\"3095\",\"name\":\"吐魯番市\(zhòng)"},{\"area_id_parent\":\"3094\",\"id\":\"3096\",\"name\":\"鄯善縣\"},{\"area_id_parent\":\"3094\",\"id\":\"3097\",\"name\":\"托克遜縣\"}]},{\"area_id_parent\":\"33\",\"id\":\"3098\",\"name\":\"哈密地區(qū)\",\"three\":[{\"area_id_parent\":\"3098\",\"id\":\"3099\",\"name\":\"哈密市\(zhòng)"},{\"area_id_parent\":\"3098\",\"id\":\"3100\",\"name\":\"巴里坤哈薩克自治縣\"},{\"area_id_parent\":\"3098\",\"id\":\"3101\",\"name\":\"伊吾縣\"}]},{\"area_id_parent\":\"33\",\"id\":\"3102\",\"name\":\"昌吉回族自治州\",\"three\":[{\"area_id_parent\":\"3102\",\"id\":\"3103\",\"name\":\"昌吉市\(zhòng)"},{\"area_id_parent\":\"3102\",\"id\":\"3104\",\"name\":\"阜康市\(zhòng)"},{\"area_id_parent\":\"3102\",\"id\":\"3105\",\"name\":\"呼圖壁縣\"},{\"area_id_parent\":\"3102\",\"id\":\"3106\",\"name\":\"瑪納斯縣\"},{\"area_id_parent\":\"3102\",\"id\":\"3107\",\"name\":\"奇臺縣\"},{\"area_id_parent\":\"3102\",\"id\":\"3108\",\"name\":\"吉木薩爾縣\"},{\"area_id_parent\":\"3102\",\"id\":\"3109\",\"name\":\"木壘哈薩克自治縣\"}]},{\"area_id_parent\":\"33\",\"id\":\"3110\",\"name\":\"博爾塔拉蒙古自治州\",\"three\":[{\"area_id_parent\":\"3110\",\"id\":\"3111\",\"name\":\"博樂市\(zhòng)"},{\"area_id_parent\":\"3110\",\"id\":\"3112\",\"name\":\"精河縣\"},{\"area_id_parent\":\"3110\",\"id\":\"3113\",\"name\":\"溫泉縣\"}]},{\"area_id_parent\":\"33\",\"id\":\"3114\",\"name\":\"巴音郭楞蒙古自治州\",\"three\":[{\"area_id_parent\":\"3114\",\"id\":\"3115\",\"name\":\"庫爾勒市\(zhòng)"},{\"area_id_parent\":\"3114\",\"id\":\"3116\",\"name\":\"輪臺縣\"},{\"area_id_parent\":\"3114\",\"id\":\"3117\",\"name\":\"尉犁縣\"},{\"area_id_parent\":\"3114\",\"id\":\"3118\",\"name\":\"若羌縣\"},{\"area_id_parent\":\"3114\",\"id\":\"3119\",\"name\":\"且末縣\"},{\"area_id_parent\":\"3114\",\"id\":\"3120\",\"name\":\"焉耆回族自治縣\"},{\"area_id_parent\":\"3114\",\"id\":\"3121\",\"name\":\"和靜縣\"},{\"area_id_parent\":\"3114\",\"id\":\"3122\",\"name\":\"和碩縣\"},{\"area_id_parent\":\"3114\",\"id\":\"3123\",\"name\":\"博湖縣\"}]},{\"area_id_parent\":\"33\",\"id\":\"3124\",\"name\":\"阿克蘇地區(qū)\",\"three\":[{\"area_id_parent\":\"3124\",\"id\":\"3125\",\"name\":\"阿克蘇市\(zhòng)"},{\"area_id_parent\":\"3124\",\"id\":\"3126\",\"name\":\"溫宿縣\"},{\"area_id_parent\":\"3124\",\"id\":\"3127\",\"name\":\"庫車縣\"},{\"area_id_parent\":\"3124\",\"id\":\"3128\",\"name\":\"沙雅縣\"},{\"area_id_parent\":\"3124\",\"id\":\"3129\",\"name\":\"新和縣\"},{\"area_id_parent\":\"3124\",\"id\":\"3130\",\"name\":\"拜城縣\"},{\"area_id_parent\":\"3124\",\"id\":\"3131\",\"name\":\"烏什縣\"},{\"area_id_parent\":\"3124\",\"id\":\"3132\",\"name\":\"阿瓦提縣\"},{\"area_id_parent\":\"3124\",\"id\":\"3133\",\"name\":\"柯坪縣\"}]},{\"area_id_parent\":\"33\",\"id\":\"3134\",\"name\":\"克孜勒蘇柯爾克孜自治州\",\"three\":[{\"area_id_parent\":\"3134\",\"id\":\"3135\",\"name\":\"阿圖什市\(zhòng)"},{\"area_id_parent\":\"3134\",\"id\":\"3136\",\"name\":\"阿克陶縣\"},{\"area_id_parent\":\"3134\",\"id\":\"3137\",\"name\":\"阿合奇縣\"},{\"area_id_parent\":\"3134\",\"id\":\"3138\",\"name\":\"烏恰縣\"}]},{\"area_id_parent\":\"33\",\"id\":\"3139\",\"name\":\"喀什地區(qū)\",\"three\":[{\"area_id_parent\":\"3139\",\"id\":\"3140\",\"name\":\"喀什市\(zhòng)"},{\"area_id_parent\":\"3139\",\"id\":\"3141\",\"name\":\"疏附縣\"},{\"area_id_parent\":\"3139\",\"id\":\"3142\",\"name\":\"疏勒縣\"},{\"area_id_parent\":\"3139\",\"id\":\"3143\",\"name\":\"英吉沙縣\"},{\"area_id_parent\":\"3139\",\"id\":\"3144\",\"name\":\"澤普縣\"},{\"area_id_parent\":\"3139\",\"id\":\"3145\",\"name\":\"莎車縣\"},{\"area_id_parent\":\"3139\",\"id\":\"3146\",\"name\":\"葉城縣\"},{\"area_id_parent\":\"3139\",\"id\":\"3147\",\"name\":\"麥蓋提縣\"},{\"area_id_parent\":\"3139\",\"id\":\"3148\",\"name\":\"岳普湖縣\"},{\"area_id_parent\":\"3139\",\"id\":\"3149\",\"name\":\"伽師縣\"},{\"area_id_parent\":\"3139\",\"id\":\"3150\",\"name\":\"巴楚縣\"},{\"area_id_parent\":\"3139\",\"id\":\"3151\",\"name\":\"塔什庫爾干塔吉克自治縣\"}]},{\"area_id_parent\":\"33\",\"id\":\"3152\",\"name\":\"和田地區(qū)\",\"three\":[{\"area_id_parent\":\"3152\",\"id\":\"3153\",\"name\":\"和田市\(zhòng)"},{\"area_id_parent\":\"3152\",\"id\":\"3154\",\"name\":\"和田縣\"},{\"area_id_parent\":\"3152\",\"id\":\"3155\",\"name\":\"墨玉縣\"},{\"area_id_parent\":\"3152\",\"id\":\"3156\",\"name\":\"皮山縣\"},{\"area_id_parent\":\"3152\",\"id\":\"3157\",\"name\":\"洛浦縣\"},{\"area_id_parent\":\"3152\",\"id\":\"3158\",\"name\":\"策勒縣\"},{\"area_id_parent\":\"3152\",\"id\":\"3159\",\"name\":\"于田縣\"},{\"area_id_parent\":\"3152\",\"id\":\"3160\",\"name\":\"民豐縣\"}]},{\"area_id_parent\":\"33\",\"id\":\"3161\",\"name\":\"伊犁哈薩克自治州\",\"three\":[{\"area_id_parent\":\"3161\",\"id\":\"3162\",\"name\":\"伊寧市\(zhòng)"},{\"area_id_parent\":\"3161\",\"id\":\"3163\",\"name\":\"奎屯市\(zhòng)"},{\"area_id_parent\":\"3161\",\"id\":\"3164\",\"name\":\"伊寧縣\"},{\"area_id_parent\":\"3161\",\"id\":\"3165\",\"name\":\"察布查爾錫伯自治縣\"},{\"area_id_parent\":\"3161\",\"id\":\"3166\",\"name\":\"霍城縣\"},{\"area_id_parent\":\"3161\",\"id\":\"3167\",\"name\":\"鞏留縣\"},{\"area_id_parent\":\"3161\",\"id\":\"3168\",\"name\":\"新源縣\"},{\"area_id_parent\":\"3161\",\"id\":\"3169\",\"name\":\"昭蘇縣\"},{\"area_id_parent\":\"3161\",\"id\":\"3170\",\"name\":\"特克斯縣\"},{\"area_id_parent\":\"3161\",\"id\":\"3171\",\"name\":\"尼勒克縣\"}]},{\"area_id_parent\":\"33\",\"id\":\"3172\",\"name\":\"塔城地區(qū)\",\"three\":[{\"area_id_parent\":\"3172\",\"id\":\"3173\",\"name\":\"塔城市\(zhòng)"},{\"area_id_parent\":\"3172\",\"id\":\"3174\",\"name\":\"烏蘇市\(zhòng)"},{\"area_id_parent\":\"3172\",\"id\":\"3175\",\"name\":\"額敏縣\"},{\"area_id_parent\":\"3172\",\"id\":\"3176\",\"name\":\"沙灣縣\"},{\"area_id_parent\":\"3172\",\"id\":\"3177\",\"name\":\"托里縣\"},{\"area_id_parent\":\"3172\",\"id\":\"3178\",\"name\":\"裕民縣\"},{\"area_id_parent\":\"3172\",\"id\":\"3179\",\"name\":\"和布克賽爾蒙古自治縣\"}]},{\"area_id_parent\":\"33\",\"id\":\"3180\",\"name\":\"阿勒泰地區(qū)\",\"three\":[{\"area_id_parent\":\"3180\",\"id\":\"3181\",\"name\":\"阿勒泰市\(zhòng)"},{\"area_id_parent\":\"3180\",\"id\":\"3182\",\"name\":\"布爾津縣\"},{\"area_id_parent\":\"3180\",\"id\":\"3183\",\"name\":\"富蘊(yùn)縣\"},{\"area_id_parent\":\"3180\",\"id\":\"3184\",\"name\":\"福海縣\"},{\"area_id_parent\":\"3180\",\"id\":\"3185\",\"name\":\"哈巴河縣\"},{\"area_id_parent\":\"3180\",\"id\":\"3186\",\"name\":\"青河縣\"},{\"area_id_parent\":\"3180\",\"id\":\"3187\",\"name\":\"吉木乃縣\"}]}]},{\"area_id_parent\":\"0\",\"id\":\"34\",\"name\":\"臺灣省\"},{\"area_id_parent\":\"0\",\"id\":\"35\",\"name\":\"香港特別行政區(qū)\"},{\"area_id_parent\":\"0\",\"id\":\"36\",\"name\":\"澳門特別行政區(qū)\"}]";
Type type = new TypeToken<ArrayList<AreaEntity>>(){}.getType();
proviceEntityList = new Gson().fromJson(areaJson,type);
if (flag == 1) {
mHandler.sendEmptyMessage(SHOW_PROVINCE);
} else if (flag == 2) {
mHandler.sendEmptyMessage(SHOW_CITY);
} else if (flag == 3) {
mHandler.sendEmptyMessage(SHOW_STREET);
}
}
點擊選擇市
tvCity.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (flag == HONG_KONG_OR_AO_MEN) {//香港或者澳門是沒有市和區(qū)縣
return;
}
flag = 2;
if (proviceEntityList == null) {
requestArea();
} else {
mHandler.sendEmptyMessage(SHOW_CITY);
}
}
});
點擊選擇區(qū)縣
tvCounty.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (flag == HONG_KONG_OR_AO_MEN) {
return;
}
flag = 3;
if (proviceEntityList == null) {
requestArea();
} else {
mHandler.sendEmptyMessage(SHOW_STREET);
}
}
});
handler接收消息 處理操作
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case SHOW_PROVINCE:
showProvince();
break;
case SHOW_CITY:
showCity();
break;
case SHOW_STREET:
showStreet();
break;
}
}
};
UI顯示
private void showProvince() {
AreaSelectDialog provinceDialog = new AreaSelectDialog(this,proviceEntityList,choosedProvince);
provinceDialog.setmOnDialogChangedListener(new AreaSelectDialog.OnDialogChangedListener() {
@Override
public void onDialogChanged(String currentItem) {
tvProvince.setText(currentItem);
if (!TextUtils.isEmpty(choosedProvince) && choosedProvince.equals(currentItem)) {
if (!TextUtils.isEmpty(choosedCity)) {
tvCity.setText(choosedCity);
}
if (!TextUtils.isEmpty(choosedCounty)) {
tvCounty.setText(choosedCounty);
}
} else {
if (HONG_KONG.equals(currentItem) || MA_KAO.equals(currentItem)) {
tvCity.setText("");
tvCounty.setText("");
} else {
tvCity.setText("請選擇城市");
tvCounty.setText("請選擇縣區(qū)");
}
}
}
@Override
public void onBackPressed() {
}
@Override
public void onDismissedListener(String currentItem) {
if (!TextUtils.isEmpty(choosedProvince) && !choosedProvince.equals(currentItem)) {
choosedCity = "";
choosedCounty = "";
tvCity.setText("請選擇城市");
tvCounty.setText("請選擇縣區(qū)");
}
if (HONG_KONG.equals(currentItem) || MA_KAO.equals(currentItem)) {
flag = HONG_KONG_OR_AO_MEN;
choosedCity = "";
choosedCounty = "";
tvCity.setText(choosedCity);
tvCounty.setText(choosedCounty);
}
choosedProvince = currentItem;
tvProvince.setText(choosedProvince);
if (flag == 2 || flag == 3) {
showCity();
}
}
});
}
private void showCity() {
if (TextUtils.isEmpty(choosedProvince)) {
mHandler.sendEmptyMessage(SHOW_PROVINCE);
return;
}//如果省沒選,那就讓他去選省
if (proviceEntityList == null) {
requestArea();
}
for (AreaEntity areaEntity : proviceEntityList) {
if (choosedProvince.equals(areaEntity.getName())) {
cityEntityList = areaEntity.getSecond();
}
}
AreaSelectDialog cityDialog = new AreaSelectDialog(this, cityEntityList, choosedCity);
cityDialog.setmOnDialogChangedListener(new AreaSelectDialog.OnDialogChangedListener() {
@Override
public void onDialogChanged(String currentItem) {
tvCity.setText(currentItem);
if (!TextUtils.isEmpty(choosedCity) && choosedCity.equals(currentItem)) {
if (!TextUtils.isEmpty(choosedCounty)) {
tvCounty.setText(choosedCounty);
}
} else {
tvCounty.setText("請選擇縣區(qū)");
}
}
@Override
public void onBackPressed() {
flag = 0;
}
@Override
public void onDismissedListener(String currentItem) {
if (!TextUtils.isEmpty(choosedCity) && !choosedCity.equals(currentItem)) {
choosedCounty = "";
tvCounty.setText("請選擇縣區(qū)");
}
choosedCity = currentItem;
tvCity.setText(choosedCity);
if (flag == 3) {
mHandler.sendEmptyMessage(SHOW_STREET);
}
}
});
}
private void showStreet() {
//如果市沒選,那就讓他去選市
if (TextUtils.isEmpty(choosedCity)) {
mHandler.sendEmptyMessage(SHOW_CITY);
return;
}
if (cityEntityList == null) {
for (AreaEntity areaEntity : proviceEntityList) {
if (choosedProvince.equals(areaEntity.getName())) {
cityEntityList = areaEntity.getSecond();
}
}
}
for (AreaEntity.SecondEntity secondEntity : cityEntityList) {
if (choosedCity.equals(secondEntity.getName())) {
StreetEntityList = secondEntity.getThree();
}
}
AreaSelectDialog streetDialog = new AreaSelectDialog(this, StreetEntityList, choosedCounty);
streetDialog.setmOnDialogChangedListener(new AreaSelectDialog.OnDialogChangedListener() {
@Override
public void onDialogChanged(String currentItem) {
tvCounty.setText(currentItem);
}
@Override
public void onBackPressed() {
flag = 0;
}
@Override
public void onDismissedListener(String currentItem) {
choosedCounty = currentItem;
tvCounty.setText(choosedCounty);
}
});
}
貼出AreaSelectDialog代碼 使用到了WheelView
public class AreaSelectDialog {
private ArrayList mList;
private String currentItem;
private Context mContext;
private AlertDialog mAlertDialog;
private Window mWindow;
private WheelView mWheel;
private JSONArray dataArray = new JSONArray();
public AreaSelectDialog(Context context, ArrayList mlist, String item){
this.mContext = context;
this.mList = mlist;
this.currentItem = item;
mAlertDialog = new AlertDialog.Builder(context, R.style.MyDialog).create();
mAlertDialog.setCanceledOnTouchOutside(true);
mAlertDialog.setCancelable(true);
mAlertDialog.setOnKeyListener(new DialogInterface.OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode,
KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_SEARCH) {
return true;
} else {
return false;
}
}
});
mAlertDialog.show();
mAlertDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
if (mOnDialogChangedListener != null &&!TextUtils.isEmpty(getCurrentItem())) {
mOnDialogChangedListener.onDismissedListener(getCurrentItem());
}
}
});
//設(shè)置dialog為屏幕寬度
WindowManager.LayoutParams params = mAlertDialog.getWindow().getAttributes();
params.width = WindowManager.LayoutParams.FILL_PARENT;
mAlertDialog.getWindow().setAttributes(params);
// 關(guān)鍵在下面的兩行,使用window.setContentView,替換整個對話框窗口的布局
mWindow = mAlertDialog.getWindow();
mWindow.setContentView(R.layout.dialog_choose_area);
mAlertDialog.setOnKeyListener(new DialogInterface.OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK){
if (mOnDialogChangedListener != null) {
mOnDialogChangedListener.onBackPressed();
mAlertDialog.cancel();
return true;
}
}
return false;
}
});
RelativeLayout panel = (RelativeLayout) mAlertDialog.findViewById(R.id.lin_area);
panel.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
mAlertDialog.dismiss();
return false;
}
});
try {
initWheelView();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 初始化WheelView控件
*/
private void initWheelView() throws Exception {
//左側(cè)列表
mWheel = (WheelView) mWindow.findViewById(R.id.wv_area);
mWheel.setVisibleItems(5);
mWheel.setCyclic(false);
mWheel.setAdapter(new ListWheelAdapter(mList, 5));
if (TextUtils.isEmpty(currentItem)) {
int leftIdx = dataArray.length() / 2;
mWheel.setCurrentItem(leftIdx);
}else{
for (int i = 0; i < mList.size(); i++) {
if(currentItem.equals(mList.get(i).toString())){
mWheel.setCurrentItem(i);
break;
}
}
}
mWheel.addChangingListener(new OnWheelChangedListener() {
@Override
public void onChanged(WheelView wheel, int oldValue, int newValue) {
if (mOnDialogChangedListener != null) {
mOnDialogChangedListener.onDialogChanged(getCurrentItem());
}
}
});
}
/**
* 獲取當(dāng)前-數(shù)據(jù)對象
*
* @return
*/
public String getCurrentItem() {
if(mList == null){
return "";
}
int leftPos = mWheel.getCurrentItem();
Object item = mList.get(leftPos);
return item.toString();
}
/**
* 關(guān)閉對話框
*/
public void dismiss() {
mAlertDialog.dismiss();
}
/**
* 未選擇器-填充數(shù)據(jù)
*
* @param result
* @throws Exception
*/
private void initView(String result) throws Exception {
JSONObject obj = new JSONObject(result);
dataArray = obj.optJSONArray("data");
initWheelView();
}
private OnDialogChangedListener mOnDialogChangedListener;
public void setmOnDialogChangedListener(OnDialogChangedListener mOnDialogChangedListener) {
this.mOnDialogChangedListener = mOnDialogChangedListener;
}
public interface OnDialogChangedListener {
void onDialogChanged(String currentItem);
void onBackPressed();
void onDismissedListener(String currentItem);
}
}
代碼具體下載地址
http://download.csdn.net/detail/feibendexiaoma/9767025