GridView实现省市县三级联动


前段时间写了一个DEMO,里面用到省市县三级联动的功能,稍微整理了一下。以下代码中大部分数据来源于网上的下拉列表的省市县三级联动的例子,这里我作出了改动,用的是GridView来显示省市县,代码有点繁琐,但是显示效果还是不错的。


显示效果如下图所示:未点击按钮之前,gridview隐藏。


点击按钮后,会展开gridview,选择之后,gridview隐藏。



首先是布局文件:main.xml,布局中用到的一些9patch图片这里就不给出了。

[xml]  view plain  copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:<a href="http://lib.csdn.net/base/15" class='replace_word' title="Android知识库" target='_blank' style='color:#df3434; font-weight:bold;'>Android</a>="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:background="@drawable/bg"  
  6.     android:orientation="vertical" >  
  7.   
  8.     <ScrollView  
  9.         android:id="@+id/layout_scroll"  
  10.         android:layout_width="fill_parent"  
  11.         android:layout_height="fill_parent"  
  12.         android:scrollbars="none" >  
  13.   
  14.         <LinearLayout  
  15.             android:layout_width="fill_parent"  
  16.             android:layout_height="fill_parent"  
  17.             android:orientation="vertical"  
  18.             android:paddingLeft="20dp"  
  19.             android:paddingRight="20dp" >  
  20.   
  21.             <!--  
  22.                  <LinearLayout  
  23.                 android:layout_width="fill_parent"  
  24.                 android:layout_height="wrap_content"  
  25.                 android:layout_marginTop="10dip"  
  26.                 android:background="@drawable/cell_wt_normal"  
  27.                 android:orientation="vertical"  
  28.                 android:padding="10dip" >  
  29.             -->  
  30.   
  31.             <TextView  
  32.                 android:id="@+id/text_view_1"  
  33.                 android:layout_width="wrap_content"  
  34.                 android:layout_height="wrap_content"  
  35.                 android:paddingTop="30dp"  
  36.                 android:text="出发地:" />  
  37.             <!-- </LinearLayout> -->  
  38.   
  39.             <LinearLayout  
  40.                 android:layout_width="fill_parent"  
  41.                 android:layout_height="wrap_content"  
  42.                 android:layout_marginTop="10dp"  
  43.                 android:background="@drawable/cell_search_n"  
  44.                 android:orientation="vertical"  
  45.                 android:padding="10dip" >  
  46.   
  47.                 <LinearLayout  
  48.                     android:id="@+id/layout_start_with"  
  49.                     android:layout_width="fill_parent"  
  50.                     android:layout_height="wrap_content"  
  51.                     android:orientation="horizontal"  
  52.                     android:paddingTop="0dp" >  
  53.   
  54.                     <Button  
  55.                         android:id="@+id/btn_province"  
  56.                         android:layout_width="wrap_content"  
  57.                         android:layout_height="fill_parent"  
  58.                         android:layout_weight="1"  
  59.                         android:background="@drawable/address_select_normal"  
  60.                         android:text="省份"  
  61.                         android:textColor="@color/black" />  
  62.   
  63.                     <Button  
  64.                         android:id="@+id/btn_city"  
  65.                         android:layout_width="wrap_content"  
  66.                         android:layout_height="fill_parent"  
  67.                         android:layout_weight="1"  
  68.                         android:background="@drawable/address_select_normal"  
  69.                         android:text="城市"  
  70.                         android:textColor="@color/black" />  
  71.   
  72.                     <Button  
  73.                         android:id="@+id/btn_county"  
  74.                         android:layout_width="wrap_content"  
  75.                         android:layout_height="fill_parent"  
  76.                         android:layout_weight="1"  
  77.                         android:background="@drawable/address_select_normal"  
  78.                         android:text="区县"  
  79.                         android:textColor="@color/black" />  
  80.                 </LinearLayout>  
  81.   
  82.                 <com.xfinder_logistics.view.MyGridView  
  83.                     android:id="@+id/gridview_start_with0"  
  84.                     android:layout_width="fill_parent"  
  85.                     android:layout_height="wrap_content"  
  86.                     android:gravity="center"  
  87.                     android:horizontalSpacing="10dp"  
  88.                     android:numColumns="3"  
  89.                     android:stretchMode="columnWidth"  
  90.                     android:verticalSpacing="10dp"  
  91.                     android:visibility="gone" />  
  92.   
  93.                 <com.xfinder_logistics.view.MyGridView  
  94.                     android:id="@+id/gridview_start_with1"  
  95.                     android:layout_width="fill_parent"  
  96.                     android:layout_height="wrap_content"  
  97.                     android:gravity="center"  
  98.                     android:horizontalSpacing="10dp"  
  99.                     android:numColumns="3"  
  100.                     android:stretchMode="columnWidth"  
  101.                     android:verticalSpacing="10dp"  
  102.                     android:visibility="gone" />  
  103.   
  104.                 <com.xfinder_logistics.view.MyGridView  
  105.                     android:id="@+id/gridview_start_with2"  
  106.                     android:layout_width="fill_parent"  
  107.                     android:layout_height="wrap_content"  
  108.                     android:gravity="center"  
  109.                     android:horizontalSpacing="10dp"  
  110.                     android:numColumns="3"  
  111.                     android:stretchMode="columnWidth"  
  112.                     android:verticalSpacing="10dp"  
  113.                     android:visibility="gone" />  
  114.             </LinearLayout>  
  115.   
  116.             <!--  
  117.                  <LinearLayout  
  118.                 android:layout_width="fill_parent"  
  119.                 android:layout_height="wrap_content"  
  120.                 android:layout_marginTop="10dip"  
  121.                 android:background="@drawable/cell_wt_normal"  
  122.                 android:orientation="vertical"  
  123.                 android:padding="10dip" >  
  124.             -->  
  125.   
  126.             <TextView  
  127.                 android:id="@+id/text_view_2"  
  128.                 android:layout_width="wrap_content"  
  129.                 android:layout_height="wrap_content"  
  130.                 android:paddingTop="30dp"  
  131.                 android:text="目的地:" />  
  132.             <!-- </LinearLayout> -->  
  133.   
  134.             <LinearLayout  
  135.                 android:layout_width="fill_parent"  
  136.                 android:layout_height="wrap_content"  
  137.                 android:layout_marginTop="10dp"  
  138.                 android:background="@drawable/cell_search_n"  
  139.                 android:orientation="vertical"  
  140.                 android:padding="10dip" >  
  141.   
  142.                 <LinearLayout  
  143.                     android:id="@+id/layout_destination"  
  144.                     android:layout_width="fill_parent"  
  145.                     android:layout_height="wrap_content"  
  146.                     android:orientation="horizontal"  
  147.                     android:paddingTop="0dp" >  
  148.   
  149.                     <Button  
  150.                         android:id="@+id/btn_province1"  
  151.                         android:layout_width="wrap_content"  
  152.                         android:layout_height="fill_parent"  
  153.                         android:layout_weight="1"  
  154.                         android:background="@drawable/address_select_normal"  
  155.                         android:text="省份"  
  156.                         android:textColor="@color/black" />  
  157.   
  158.                     <Button  
  159.                         android:id="@+id/btn_city1"  
  160.                         android:layout_width="wrap_content"  
  161.                         android:layout_height="fill_parent"  
  162.                         android:layout_weight="1"  
  163.                         android:background="@drawable/address_select_normal"  
  164.                         android:text="城市"  
  165.                         android:textColor="@color/black" />  
  166.   
  167.                     <Button  
  168.                         android:id="@+id/btn_county1"  
  169.                         android:layout_width="wrap_content"  
  170.                         android:layout_height="fill_parent"  
  171.                         android:layout_weight="1"  
  172.                         android:background="@drawable/address_select_normal"  
  173.                         android:text="区县"  
  174.                         android:textColor="@color/black" />  
  175.                 </LinearLayout>  
  176.   
  177.                 <com.xfinder_logistics.view.MyGridView  
  178.                     android:id="@+id/gridview_destination0"  
  179.                     android:layout_width="fill_parent"  
  180.                     android:layout_height="wrap_content"  
  181.                     android:gravity="center"  
  182.                     android:horizontalSpacing="10dp"  
  183.                     android:numColumns="3"  
  184.                     android:stretchMode="columnWidth"  
  185.                     android:verticalSpacing="10dp"  
  186.                     android:visibility="gone" />  
  187.   
  188.                 <com.xfinder_logistics.view.MyGridView  
  189.                     android:id="@+id/gridview_destination1"  
  190.                     android:layout_width="fill_parent"  
  191.                     android:layout_height="wrap_content"  
  192.                     android:gravity="center"  
  193.                     android:horizontalSpacing="10dp"  
  194.                     android:numColumns="3"  
  195.                     android:stretchMode="columnWidth"  
  196.                     android:verticalSpacing="10dp"  
  197.                     android:visibility="gone" />  
  198.   
  199.                 <com.xfinder_logistics.view.MyGridView  
  200.                     android:id="@+id/gridview_destination2"  
  201.                     android:layout_width="fill_parent"  
  202.                     android:layout_height="wrap_content"  
  203.                     android:gravity="center"  
  204.                     android:horizontalSpacing="10dp"  
  205.                     android:numColumns="3"  
  206.                     android:stretchMode="columnWidth"  
  207.                     android:verticalSpacing="10dp"  
  208.                     android:visibility="gone" />  
  209.             </LinearLayout>  
  210.         </LinearLayout>  
  211.     </ScrollView>  
  212.   
  213. </LinearLayout>  


重写了GridView,使其不出现滚动条代码如下:

MyGridView.class

[java]  view plain  copy
  1. package com.xfinder_logistics.view;  
  2. import android.content.Context;  
  3. import android.util.AttributeSet;  
  4. import android.widget.GridView;  
  5.   
  6. public class MyGridView extends GridView{  
  7.     public MyGridView(Context context, AttributeSet attrs) {     
  8.         super(context, attrs);     
  9.     }     
  10.     
  11.     public MyGridView(Context context) {     
  12.         super(context);     
  13.     }     
  14.     
  15.     public MyGridView(Context context, AttributeSet attrs, int defStyle) {     
  16.         super(context, attrs, defStyle);     
  17.     }     
  18. //该自定义控件只是重写了GridView的onMeasure方法,使其不会出现滚动条,ScrollView嵌套ListView也是同样的道理,不再赘述。      
  19.     @Override     
  20.     public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {     
  21.         int expandSpec = MeasureSpec.makeMeasureSpec(     
  22.                 Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);     
  23.         super.onMeasure(widthMeasureSpec, expandSpec);     
  24.     }     
  25.   
  26. }  

所有数据都是来自于网上的下拉列表的例子,所以比较繁琐,这个类大部分代码都是机械操作(网上拷的),大家见谅!!

PubActivity.class

[java]  view plain  copy
  1. package com.xfinder_logistics.activity;  
  2.   
  3. import <a href="http://lib.csdn.net/base/17" class='replace_word' title="Java EE知识库" target='_blank' style='color:#df3434; font-weight:bold;'>Java</a>.util.ArrayList;  
  4. import java.util.List;  
  5.   
  6. import android.app.AlertDialog;  
  7. import android.content.DialogInterface;  
  8. import android.content.DialogInterface.OnCancelListener;  
  9. import android.database.Cursor;  
  10. import android.os.Bundle;  
  11. import android.text.InputType;  
  12. import android.text.format.Time;  
  13. import android.util.Log;  
  14. import android.view.MotionEvent;  
  15. import android.view.View;  
  16. import android.view.View.OnClickListener;  
  17. import android.view.View.OnTouchListener;  
  18. import android.view.WindowManager;  
  19. import android.widget.AdapterView;  
  20. import android.widget.AdapterView.OnItemClickListener;  
  21. import android.widget.ArrayAdapter;  
  22. import android.widget.Button;  
  23. import android.widget.EditText;  
  24. import android.widget.RelativeLayout;  
  25. import android.widget.TextView;  
  26. import android.widget.Toast;  
  27.   
  28. import com.xfinder_logistics.MyApplication;  
  29. import com.xfinder_logistics.R;  
  30. import com.xfinder_logistics.data.DatabaseUtil;  
  31. import com.xfinder_logistics.model.CarInfo;  
  32. import com.xfinder_logistics.view.DateTimePickerDialog;  
  33. import com.xfinder_logistics.view.DropDownBox;  
  34. import com.xfinder_logistics.view.DropDownBox.DropDownListAdapter;  
  35. import com.xfinder_logistics.view.MyGridView;  
  36.   
  37. public class PubActivity extends BaseActivity {  
  38.     private Button btn_province0, btn_city0, btn_county0, btn_province1,  
  39.             btn_city1, btn_county1;  
  40.     private MyGridView grid_start0, grid_start1, grid_start2,  
  41.             grid_destination0, grid_destination1, grid_destination2;  
  42.     private int[] city = { R.array.beijin_province_item,  
  43.             R.array.tianjin_province_item, R.array.heibei_province_item,  
  44.             R.array.shanxi1_province_item, R.array.neimenggu_province_item,  
  45.             R.array.liaoning_province_item, R.array.jilin_province_item,  
  46.             R.array.heilongjiang_province_item, R.array.shanghai_province_item,  
  47.             R.array.jiangsu_province_item, R.array.zhejiang_province_item,  
  48.             R.array.anhui_province_item, R.array.fujian_province_item,  
  49.             R.array.jiangxi_province_item, R.array.shandong_province_item,  
  50.             R.array.henan_province_item, R.array.hubei_province_item,  
  51.             R.array.hunan_province_item, R.array.guangdong_province_item,  
  52.             R.array.guangxi_province_item, R.array.hainan_province_item,  
  53.             R.array.chongqing_province_item, R.array.sichuan_province_item,  
  54.             R.array.guizhou_province_item, R.array.yunnan_province_item,  
  55.             R.array.xizang_province_item, R.array.shanxi2_province_item,  
  56.             R.array.gansu_province_item, R.array.qinghai_province_item,  
  57.             R.array.linxia_province_item, R.array.xinjiang_province_item,  
  58.             R.array.hongkong_province_item, R.array.aomen_province_item,  
  59.             R.array.taiwan_province_item };  
  60.     private int[] countyOfBeiJing = { R.array.beijin_city_item0,  
  61.             R.array.beijin_city_item1 };  
  62.     private int[] countyOfTianJing = { R.array.tianjin_city_item0,  
  63.             R.array.tianjin_city_item1 };  
  64.     private int[] countyOfHeBei = { R.array.shijiazhuang_city_item,  
  65.             R.array.tangshan_city_item, R.array.qinghuangdao_city_item,  
  66.             R.array.handan_city_item, R.array.xingtai_city_item,  
  67.             R.array.baoding_city_item, R.array.zhangjiakou_city_item,  
  68.             R.array.chengde_city_item, R.array.cangzhou_city_item,  
  69.             R.array.langfang_city_item, R.array.hengshui_city_item };  
  70.     private int[] countyOfShanXi1 = { R.array.taiyuan_city_item,  
  71.             R.array.datong_city_item, R.array.yangquan_city_item,  
  72.             R.array.changzhi_city_item, R.array.jincheng_city_item,  
  73.             R.array.shuozhou_city_item, R.array.jinzhong_city_item,  
  74.             R.array.yuncheng_city_item, R.array.xinzhou_city_item,  
  75.             R.array.linfen_city_item, R.array.lvliang_city_item };  
  76.     private int[] countyOfNeiMengGu = { R.array.huhehaote_city_item,  
  77.             R.array.baotou_city_item, R.array.wuhai_city_item,  
  78.             R.array.chifeng_city_item, R.array.tongliao_city_item,  
  79.             R.array.eerduosi_city_item, R.array.hulunbeier_city_item,  
  80.             R.array.bayannaoer_city_item, R.array.wulanchabu_city_item,  
  81.             R.array.xinganmeng_city_item, R.array.xilinguolemeng_city_item,  
  82.             R.array.alashanmeng_city_item };  
  83.     private int[] countyOfLiaoNing = { R.array.shenyang_city_item,  
  84.             R.array.dalian_city_item, R.array.anshan_city_item,  
  85.             R.array.wushun_city_item, R.array.benxi_city_item,  
  86.             R.array.dandong_city_item, R.array.liaoning_jinzhou_city_item,  
  87.             R.array.yingkou_city_item, R.array.fuxin_city_item,  
  88.             R.array.liaoyang_city_item, R.array.panjin_city_item,  
  89.             R.array.tieling_city_item, R.array.zhaoyang_city_item,  
  90.             R.array.huludao_city_item };  
  91.     private int[] countyOfJiLin = { R.array.changchun_city_item,  
  92.             R.array.jilin_city_item, R.array.siping_city_item,  
  93.             R.array.liaoyuan_city_item, R.array.tonghua_city_item,  
  94.             R.array.baishan_city_item, R.array.songyuan_city_item,  
  95.             R.array.baicheng_city_item, R.array.yanbian_city_item };  
  96.     private int[] countyOfHeiLongJiang = { R.array.haerbing_city_item,  
  97.             R.array.qiqihaer_city_item, R.array.jixi_city_item,  
  98.             R.array.hegang_city_item, R.array.shuangyashan_city_item,  
  99.             R.array.daqing_city_item, R.array.heilongjiang_yichun_city_item,  
  100.             R.array.jiamusi_city_item, R.array.qitaihe_city_item,  
  101.             R.array.mudanjiang_city_item, R.array.heihe_city_item,  
  102.             R.array.suihua_city_item, R.array.daxinganling_city_item };  
  103.     private int[] countyOfShangHai = { R.array.shanghai_city_item0,  
  104.             R.array.shanghai_city_item1 };  
  105.   
  106.     private int[] countyOfJiangSu = { R.array.nanjing_city_item,  
  107.             R.array.wuxi_city_item, R.array.xuzhou_city_item,  
  108.             R.array.changzhou_city_item, R.array.nanjing_suzhou_city_item,  
  109.             R.array.nantong_city_item, R.array.lianyungang_city_item,  
  110.             R.array.huaian_city_item, R.array.yancheng_city_item,  
  111.             R.array.yangzhou_city_item, R.array.zhenjiang_city_item,  
  112.             R.array.jiangsu_taizhou_city_item, R.array.suqian_city_item };  
  113.     private int[] countyOfZheJiang = { R.array.hangzhou_city_item,  
  114.             R.array.ningbo_city_item, R.array.wenzhou_city_item,  
  115.             R.array.jiaxing_city_item, R.array.huzhou_city_item,  
  116.             R.array.shaoxing_city_item, R.array.jinhua_city_item,  
  117.             R.array.quzhou_city_item, R.array.zhoushan_city_item,  
  118.             R.array.zejiang_huzhou_city_item, R.array.lishui_city_item };  
  119.     private int[] countyOfAnHui = { R.array.hefei_city_item,  
  120.             R.array.wuhu_city_item, R.array.bengbu_city_item,  
  121.             R.array.huainan_city_item, R.array.maanshan_city_item,  
  122.             R.array.huaibei_city_item, R.array.tongling_city_item,  
  123.             R.array.anqing_city_item, R.array.huangshan_city_item,  
  124.             R.array.chuzhou_city_item, R.array.fuyang_city_item,  
  125.             R.array.anhui_suzhou_city_item, R.array.chaohu_city_item,  
  126.             R.array.luan_city_item, R.array.haozhou_city_item,  
  127.             R.array.chizhou_city_item, R.array.xuancheng_city_item };  
  128.     private int[] countyOfFuJian = { R.array.huzhou_city_item,  
  129.             R.array.xiamen_city_item, R.array.putian_city_item,  
  130.             R.array.sanming_city_item, R.array.quanzhou_city_item,  
  131.             R.array.zhangzhou_city_item, R.array.nanp_city_item,  
  132.             R.array.longyan_city_item, R.array.ningde_city_item };  
  133.     private int[] countyOfJiangXi = { R.array.nanchang_city_item,  
  134.             R.array.jingdezhen_city_item, R.array.pingxiang_city_item,  
  135.             R.array.jiujiang_city_item, R.array.xinyu_city_item,  
  136.             R.array.yingtan_city_item, R.array.ganzhou_city_item,  
  137.             R.array.jian_city_item, R.array.jiangxi_yichun_city_item,  
  138.             R.array.jiangxi_wuzhou_city_item, R.array.shangrao_city_item };  
  139.     private int[] countyOfShanDong = { R.array.jinan_city_item,  
  140.             R.array.qingdao_city_item, R.array.zaobo_city_item,  
  141.             R.array.zaozhuang_city_item, R.array.dongying_city_item,  
  142.             R.array.yantai_city_item, R.array.weifang_city_item,  
  143.             R.array.jining_city_item, R.array.taian_city_item,  
  144.             R.array.weihai_city_item, R.array.rizhao_city_item,  
  145.             R.array.laiwu_city_item, R.array.linxi_city_item,  
  146.             R.array.dezhou_city_item, R.array.liaocheng_city_item,  
  147.             R.array.shandong_bingzhou_city_item, R.array.heze_city_item };  
  148.     private int[] countyOfHeNan = { R.array.zhenshou_city_item,  
  149.             R.array.kaifang_city_item, R.array.luoyang_city_item,  
  150.             R.array.kaipingshan_city_item, R.array.anyang_city_item,  
  151.             R.array.hebi_city_item, R.array.xinxiang_city_item,  
  152.             R.array.jiaozuo_city_item, R.array.buyang_city_item,  
  153.             R.array.xuchang_city_item, R.array.leihe_city_item,  
  154.             R.array.sanmenxia_city_item, R.array.nanyang_city_item,  
  155.             R.array.shangqiu_city_item, R.array.xinyang_city_item,  
  156.             R.array.zhoukou_city_item, R.array.zhumadian_city_item };  
  157.     private int[] countyOfHuBei = { R.array.wuhan_city_item,  
  158.             R.array.huangshi_city_item, R.array.shiyan_city_item,  
  159.             R.array.yichang_city_item, R.array.xiangpan_city_item,  
  160.             R.array.erzhou_city_item, R.array.jinmen_city_item,  
  161.             R.array.xiaogan_city_item, R.array.hubei_jinzhou_city_item,  
  162.             R.array.huanggang_city_item, R.array.xianning_city_item,  
  163.             R.array.suizhou_city_item, R.array.enshi_city_item,  
  164.             R.array.shenglongjia_city_item };  
  165.   
  166.     private int[] countyOfHuNan = { R.array.changsha_city_item,  
  167.             R.array.zhuzhou_city_item, R.array.xiangtan_city_item,  
  168.             R.array.hengyang_city_item, R.array.shaoyang_city_item,  
  169.             R.array.yueyang_city_item, R.array.changde_city_item,  
  170.             R.array.zhangjiajie_city_item, R.array.yiyang_city_item,  
  171.             R.array.hunan_bingzhou_city_item, R.array.yongzhou_city_item,  
  172.             R.array.huaihua_city_item, R.array.loudi_city_item,  
  173.             R.array.xiangxi_city_item };  
  174.     private int[] countyOfGuangDong = { R.array.guangzhou_city_item,  
  175.             R.array.shaoguan_city_item, R.array.shenzhen_city_item,  
  176.             R.array.zhuhai_city_item, R.array.shantou_city_item,  
  177.             R.array.foshan_city_item, R.array.jiangmen_city_item,  
  178.             R.array.zhangjiang_city_item, R.array.maoming_city_item,  
  179.             R.array.zhaoqing_city_item, R.array.huizhou_city_item,  
  180.             R.array.meizhou_city_item, R.array.shanwei_city_item,  
  181.             R.array.heyuan_city_item, R.array.yangjiang_city_item,  
  182.             R.array.qingyuan_city_item, R.array.dongguan_city_item,  
  183.             R.array.zhongshan_city_item, R.array.chaozhou_city_item,  
  184.             R.array.jiyang_city_item, R.array.yunfu_city_item };  
  185.     private int[] countyOfGuangXi = { R.array.nanning_city_item,  
  186.             R.array.liuzhou_city_item, R.array.guilin_city_item,  
  187.             R.array.guangxi_wuzhou_city_item, R.array.beihai_city_item,  
  188.             R.array.fangchenggang_city_item, R.array.qinzhou_city_item,  
  189.             R.array.guigang_city_item, R.array.yuelin_city_item,  
  190.             R.array.baise_city_item, R.array.hezhou_city_item,  
  191.             R.array.hechi_city_item, R.array.laibing_city_item,  
  192.             R.array.chuangzuo_city_item };  
  193.     private int[] countyOfHaiNan = { R.array.haikou_city_item,  
  194.             R.array.sanya_city_item };  
  195.     private int[] countyOfChongQing = { R.array.chongqing_city_item0,  
  196.             R.array.chongqing_city_item1, R.array.chongqing_city_item2 };  
  197.     private int[] countyOfSiChuan = { R.array.chengdu_city_item,  
  198.             R.array.zigong_city_item, R.array.panzhihua_city_item,  
  199.             R.array.luzhou_city_item, R.array.deyang_city_item,  
  200.             R.array.mianyang_city_item, R.array.guangyuan_city_item,  
  201.             R.array.suining_city_item, R.array.neijiang_city_item,  
  202.             R.array.leshan_city_item, R.array.nanchong_city_item,  
  203.             R.array.meishan_city_item, R.array.yibing_city_item,  
  204.             R.array.guangan_city_item, R.array.dazhou_city_item,  
  205.             R.array.yaan_city_item, R.array.bazhong_city_item,  
  206.             R.array.ziyang_city_item, R.array.abei_city_item,  
  207.             R.array.ganmu_city_item, R.array.liangshan_city_item };  
  208.     private int[] countyOfGuiZhou = { R.array.guiyang_city_item,  
  209.             R.array.lupanshui_city_item, R.array.zhunyi_city_item,  
  210.             R.array.anshun_city_item, R.array.tongren_city_item,  
  211.             R.array.qingxinan_city_item, R.array.biji_city_item,  
  212.             R.array.qingdongnan_city_item, R.array.qingnan_city_item };  
  213.     private int[] countyOfYunNan = { R.array.kunming_city_item,  
  214.             R.array.qujing_city_item, R.array.yuexi_city_item,  
  215.             R.array.baoshan_city_item, R.array.zhaotong_city_item,  
  216.             R.array.lijiang_city_item, R.array.simao_city_item,  
  217.             R.array.lingcang_city_item, R.array.chuxiong_city_item,  
  218.             R.array.honghe_city_item, R.array.wenshan_city_item,  
  219.             R.array.xishuangbanna_city_item, R.array.dali_city_item,  
  220.             R.array.dehuang_city_item, R.array.nujiang_city_item,  
  221.             R.array.diqing_city_item };  
  222.     private int[] countyOfXiZang = { R.array.lasa_city_item,  
  223.             R.array.changdu_city_item, R.array.shannan_city_item,  
  224.             R.array.rgeze_city_item, R.array.naqu_city_item,  
  225.             R.array.ali_city_item, R.array.linzhi_city_item };  
  226.   
  227.     private int[] countyOfShanXi2 = { R.array.xian_city_item,  
  228.             R.array.tongchuan_city_item, R.array.baoji_city_item,  
  229.             R.array.xianyang_city_item, R.array.weinan_city_item,  
  230.             R.array.yanan_city_item, R.array.hanzhong_city_item,  
  231.             R.array.yulin_city_item, R.array.ankang_city_item,  
  232.             R.array.shangluo_city_item };  
  233.     private int[] countyOfGanSu = { R.array.lanzhou_city_item,  
  234.             R.array.jiayuguan_city_item, R.array.jinchang_city_item,  
  235.             R.array.baiyin_city_item, R.array.tianshui_city_item,  
  236.             R.array.wuwei_city_item, R.array.zhangyue_city_item,  
  237.             R.array.pingliang_city_item, R.array.jiuquan_city_item,  
  238.             R.array.qingyang_city_item, R.array.dingxi_city_item,  
  239.             R.array.longnan_city_item, R.array.linxia_city_item,  
  240.             R.array.gannan_city_item };  
  241.     private int[] countyOfQingHai = { R.array.xining_city_item,  
  242.             R.array.haidong_city_item, R.array.haibai_city_item,  
  243.             R.array.huangnan_city_item, R.array.hainan_city_item,  
  244.             R.array.guluo_city_item, R.array.yushu_city_item,  
  245.             R.array.haixi_city_item };  
  246.     private int[] countyOfNingXia = { R.array.yinchuan_city_item,  
  247.             R.array.shizuishan_city_item, R.array.wuzhong_city_item,  
  248.             R.array.guyuan_city_item, R.array.zhongwei_city_item };  
  249.     private int[] countyOfXinJiang = { R.array.wulumuqi_city_item,  
  250.             R.array.kelamayi_city_item, R.array.tulyfan_city_item,  
  251.             R.array.hami_city_item, R.array.changji_city_item,  
  252.             R.array.boertala_city_item, R.array.bayinguolen_city_item,  
  253.             R.array.akesu_city_item, R.array.kemuleisu_city_item,  
  254.             R.array.geshen_city_item, R.array.hetian_city_item,  
  255.             R.array.yili_city_item, R.array.tacheng_city_item,  
  256.             R.array.aleitai_city_item, R.array.shihezi_city_item,  
  257.             R.array.alaer_city_item, R.array.tumushihe_city_item,  
  258.             R.array.wujiaqu_city_item };  
  259.     private int[] countyOfHongKong = {};  
  260.     private int[] countyOfAoMen = {};  
  261.     private int[] countyOfTaiWan = {};  
  262.   
  263.     private ArrayAdapter<CharSequence> province_adapter;  
  264.     private ArrayAdapter<CharSequence> city_adapter;  
  265.     private ArrayAdapter<CharSequence> county_adapter;  
  266.   
  267.     private int provinceId = -1;  
  268.     private int cityId = -1;  
  269.     private String strProvince = "";  
  270.     private String strCity = "";  
  271.     private String strCounty = "";  
  272.     private String strProvince1 = "";  
  273.     private String strCity1 = "";  
  274.     private String strCounty1 = "";  
  275.     @Override  
  276.     protected void onCreate(Bundle savedInstanceState) {  
  277.         // TODO Auto-generated method stub  
  278.         super.onCreate(savedInstanceState);  
  279.         setContentView(R.layout.main);  
  280.   
  281.         initView();  
  282.         loadGridView();  
  283.         selectAndChange(grid_start0, province_adapter, R.array.province_item);  
  284.         grid_start0.setVisibility(View.GONE);  
  285.         selectAndChange(grid_destination0, province_adapter,  
  286.                 R.array.province_item);  
  287.         grid_destination0.setVisibility(View.GONE);  
  288.     }  
  289.       
  290.     private void loadGridView() {  
  291.         // 出发地  
  292.         btn_province0.setOnClickListener(new OnClickListener() {  
  293.             @Override  
  294.             public void onClick(View v) {  
  295.                 if (!grid_start0.isShown()) {  
  296.                     selectAndChange(grid_start0, province_adapter,  
  297.                             R.array.province_item);  
  298.                     grid_start0.setVisibility(View.VISIBLE);  
  299.                     if (provinceId != -1) {  
  300.                         // grid_start0.getItemAtPosition(provinceId);  
  301.                         // TextView aView =  
  302.                         // (TextView)findViewById(R.id.text_adapter_item);  
  303.                         // aView.setBackgroundResource(R.drawable.address_select_pressed);  
  304.                     }  
  305.                     btn_province0  
  306.                             .setBackgroundResource(R.drawable.address_select_pressed);  
  307.                     grid_start1.setVisibility(View.GONE);  
  308.                     btn_city0  
  309.                             .setBackgroundResource(R.drawable.address_select_normal);  
  310.                     grid_start2.setVisibility(View.GONE);  
  311.                     btn_county0  
  312.                             .setBackgroundResource(R.drawable.address_select_normal);  
  313.                 } else {  
  314.                     grid_start0.setVisibility(View.GONE);  
  315.                     btn_province0  
  316.                             .setBackgroundResource(R.drawable.address_select_normal);  
  317.                 }  
  318.             }  
  319.         });  
  320.         btn_city0.setOnClickListener(new OnClickListener() {  
  321.             @Override  
  322.             public void onClick(View v) {  
  323.                 if (btn_province0.getText().equals("省份")) {  
  324.                     AlertDialog dialog = new AlertDialog.Builder(  
  325.                             PubNewInfoActivity.this)  
  326.                             .setMessage("请先选择省份")  
  327.                             .setPositiveButton("确定",  
  328.                                     new DialogInterface.OnClickListener() {  
  329.   
  330.                                         @Override  
  331.                                         public void onClick(  
  332.                                                 DialogInterface dialog,  
  333.                                                 int which) {  
  334.                                             // TODO Auto-generated method stub  
  335.                                             grid_start0  
  336.                                                     .setVisibility(View.VISIBLE);  
  337.                                             btn_province0  
  338.                                                     .setBackgroundResource(R.drawable.address_select_pressed);  
  339.                                             grid_start1  
  340.                                                     .setVisibility(View.GONE);  
  341.                                             btn_city0  
  342.                                                     .setBackgroundResource(R.drawable.address_select_normal);  
  343.                                             grid_start2  
  344.                                                     .setVisibility(View.GONE);  
  345.                                             btn_county0  
  346.                                                     .setBackgroundResource(R.drawable.address_select_normal);  
  347.                                         }  
  348.                                     }).create();  
  349.                     dialog.show();  
  350.                 } else {  
  351.                     if (!grid_start1.isShown()) {  
  352.                         grid_start1.setVisibility(View.VISIBLE);  
  353.                         btn_city0  
  354.                                 .setBackgroundResource(R.drawable.address_select_pressed);  
  355.                         grid_start0.setVisibility(View.GONE);  
  356.                         btn_province0  
  357.                                 .setBackgroundResource(R.drawable.address_select_normal);  
  358.                         grid_start2.setVisibility(View.GONE);  
  359.                         btn_county0  
  360.                                 .setBackgroundResource(R.drawable.address_select_normal);  
  361.                     } else {  
  362.                         grid_start1.setVisibility(View.GONE);  
  363.                         btn_city0  
  364.                                 .setBackgroundResource(R.drawable.address_select_normal);  
  365.                     }  
  366.                 }  
  367.             }  
  368.         });  
  369.         btn_county0.setOnClickListener(new OnClickListener() {  
  370.             @Override  
  371.             public void onClick(View v) {  
  372.                 if ((!btn_province0.getText().equals("省份"))&&btn_city0.getText().equals("城市")) {  
  373.                     AlertDialog dialog = new AlertDialog.Builder(  
  374.                             PubNewInfoActivity.this)  
  375.                             .setMessage("请先选择城市")  
  376.                             .setPositiveButton("确定",  
  377.                                     new DialogInterface.OnClickListener() {  
  378.   
  379.                                         @Override  
  380.                                         public void onClick(  
  381.                                                 DialogInterface dialog,  
  382.                                                 int which) {  
  383.                                             // TODO Auto-generated method stub  
  384.                                             grid_start1  
  385.                                                     .setVisibility(View.VISIBLE);  
  386.                                             btn_city0  
  387.                                                     .setBackgroundResource(R.drawable.address_select_pressed);  
  388.                                             grid_start0  
  389.                                                     .setVisibility(View.GONE);  
  390.                                             btn_province0  
  391.                                                     .setBackgroundResource(R.drawable.address_select_normal);  
  392.                                             grid_start2  
  393.                                                     .setVisibility(View.GONE);  
  394.                                             btn_county0  
  395.                                                     .setBackgroundResource(R.drawable.address_select_normal);  
  396.                                         }  
  397.                                     }).create();  
  398.                     dialog.show();  
  399.                 } else if(btn_province0.getText().equals("省份")&&btn_city0.getText().equals("城市")){  
  400.                     AlertDialog dialog = new AlertDialog.Builder(  
  401.                             PubNewInfoActivity.this)  
  402.                             .setMessage("请先选择省份")  
  403.                             .setPositiveButton("确定",  
  404.                                     new DialogInterface.OnClickListener() {  
  405.   
  406.                                         @Override  
  407.                                         public void onClick(  
  408.                                                 DialogInterface dialog,  
  409.                                                 int which) {  
  410.                                             // TODO Auto-generated method stub  
  411.                                             grid_start0  
  412.                                                     .setVisibility(View.VISIBLE);  
  413.                                             btn_province0  
  414.                                                     .setBackgroundResource(R.drawable.address_select_pressed);  
  415.                                             grid_start1  
  416.                                                     .setVisibility(View.GONE);  
  417.                                             btn_city0  
  418.                                                     .setBackgroundResource(R.drawable.address_select_normal);  
  419.                                             grid_start2  
  420.                                                     .setVisibility(View.GONE);  
  421.                                             btn_county0  
  422.                                                     .setBackgroundResource(R.drawable.address_select_normal);  
  423.                                         }  
  424.                                     }).create();  
  425.                     dialog.show();  
  426.                 }else{  
  427.                     if (!grid_start2.isShown()) {  
  428.                         grid_start2.setVisibility(View.VISIBLE);  
  429.                         btn_county0  
  430.                                 .setBackgroundResource(R.drawable.address_select_pressed);  
  431.                         grid_start0.setVisibility(View.GONE);  
  432.                         btn_province0  
  433.                                 .setBackgroundResource(R.drawable.address_select_normal);  
  434.                         grid_start1.setVisibility(View.GONE);  
  435.                         btn_city0  
  436.                                 .setBackgroundResource(R.drawable.address_select_normal);  
  437.                     } else {  
  438.                         grid_start2.setVisibility(View.GONE);  
  439.                         btn_county0  
  440.                                 .setBackgroundResource(R.drawable.address_select_normal);  
  441.                     }  
  442.                 }  
  443.             }  
  444.         });  
  445.         grid_start0.setOnItemClickListener(new OnItemClickListener() {  
  446.             @Override  
  447.             public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,  
  448.                     long arg3) {  
  449.                 provinceId = arg2;  
  450.                 TextView textView = (TextView) arg1  
  451.                         .findViewById(R.id.text_adapter_item);  
  452.                 strProvince = (String) textView.getText();  
  453.                 if (!btn_province0.getText().equals(strProvince)) {  
  454.                     grid_start1.setVisibility(View.GONE);  
  455.                     btn_city0  
  456.                             .setBackgroundResource(R.drawable.address_select_normal);  
  457.                     grid_start2.setVisibility(View.GONE);  
  458.                     btn_county0  
  459.                             .setBackgroundResource(R.drawable.address_select_normal);  
  460.                     btn_city0.setText("城市");  
  461.                     btn_county0.setText("区县");  
  462.                 }  
  463.                 Log.e("test""province: " + arg2 + strProvince);  
  464.                 loadGridViewData(grid_start0, grid_start1, city_adapter,  
  465.                         city[arg2]);  
  466.                 btn_province0.setText(strProvince);  
  467.                 btn_province0  
  468.                         .setBackgroundResource(R.drawable.address_select_normal);  
  469.             }  
  470.         });  
  471.         grid_start1.setOnItemClickListener(new OnItemClickListener() {  
  472.             @Override  
  473.             public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,  
  474.                     long arg3) {  
  475.                 cityId = arg2;  
  476.                 TextView textView = (TextView) arg1  
  477.                         .findViewById(R.id.text_adapter_item);  
  478.                 strCity = (String) textView.getText();  
  479.                 if (!btn_city0.getText().equals(strCity)) {  
  480.                     grid_start2.setVisibility(View.GONE);  
  481.                     btn_county0  
  482.                             .setBackgroundResource(R.drawable.address_select_normal);  
  483.                     btn_county0.setText("区县");  
  484.                 }  
  485.                 btn_city0.setText(strCity);  
  486.                 btn_city0  
  487.                         .setBackgroundResource(R.drawable.address_select_normal);  
  488.                 Log.e("test""city: " + arg2 + strCity);  
  489.                 switch (provinceId) {  
  490.                 case 0:  
  491.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  492.                             countyOfBeiJing[cityId]);  
  493.                     break;  
  494.                 case 1:  
  495.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  496.                             countyOfTianJing[cityId]);  
  497.                     break;  
  498.                 case 2:  
  499.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  500.                             countyOfHeBei[cityId]);  
  501.                     break;  
  502.                 case 3:  
  503.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  504.                             countyOfShanXi1[cityId]);  
  505.                     break;  
  506.                 case 4:  
  507.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  508.                             countyOfNeiMengGu[cityId]);  
  509.                     break;  
  510.                 case 5:  
  511.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  512.                             countyOfLiaoNing[cityId]);  
  513.                     break;  
  514.                 case 6:  
  515.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  516.                             countyOfJiLin[cityId]);  
  517.                     break;  
  518.                 case 7:  
  519.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  520.                             countyOfHeiLongJiang[cityId]);  
  521.                     break;  
  522.                 case 8:  
  523.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  524.                             countyOfShangHai[cityId]);  
  525.                     break;  
  526.                 case 9:  
  527.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  528.                             countyOfJiangSu[cityId]);  
  529.                     break;  
  530.                 case 10:  
  531.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  532.                             countyOfZheJiang[cityId]);  
  533.                     break;  
  534.                 case 11:  
  535.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  536.                             countyOfAnHui[cityId]);  
  537.                     break;  
  538.                 case 12:  
  539.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  540.                             countyOfFuJian[cityId]);  
  541.                     break;  
  542.                 case 13:  
  543.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  544.                             countyOfJiangXi[cityId]);  
  545.                     break;  
  546.                 case 14:  
  547.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  548.                             countyOfShanDong[cityId]);  
  549.                     break;  
  550.                 case 15:  
  551.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  552.                             countyOfHeNan[cityId]);  
  553.                     break;  
  554.                 case 16:  
  555.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  556.                             countyOfHuBei[cityId]);  
  557.                     break;  
  558.                 case 17:  
  559.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  560.                             countyOfHuNan[cityId]);  
  561.                     break;  
  562.                 case 18:  
  563.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  564.                             countyOfGuangDong[cityId]);  
  565.                     break;  
  566.                 case 19:  
  567.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  568.                             countyOfGuangXi[cityId]);  
  569.                     break;  
  570.                 case 20:  
  571.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  572.                             countyOfHaiNan[cityId]);  
  573.                     break;  
  574.                 case 21:  
  575.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  576.                             countyOfChongQing[cityId]);  
  577.                     break;  
  578.                 case 22:  
  579.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  580.                             countyOfSiChuan[cityId]);  
  581.                     break;  
  582.                 case 23:  
  583.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  584.                             countyOfGuiZhou[cityId]);  
  585.                     break;  
  586.                 case 24:  
  587.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  588.                             countyOfYunNan[cityId]);  
  589.                     break;  
  590.                 case 25:  
  591.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  592.                             countyOfXiZang[cityId]);  
  593.                     break;  
  594.                 case 26:  
  595.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  596.                             countyOfShanXi2[cityId]);  
  597.                     break;  
  598.                 case 27:  
  599.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  600.                             countyOfGanSu[cityId]);  
  601.                     break;  
  602.                 case 28:  
  603.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  604.                             countyOfQingHai[cityId]);  
  605.                     break;  
  606.                 case 29:  
  607.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  608.                             countyOfNingXia[cityId]);  
  609.                     break;  
  610.                 case 30:  
  611.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  612.                             countyOfXinJiang[cityId]);  
  613.                     break;  
  614.                 case 31:  
  615.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  616.                             countyOfHongKong[cityId]);  
  617.                     break;  
  618.                 case 32:  
  619.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  620.                             countyOfAoMen[cityId]);  
  621.                     break;  
  622.                 case 33:  
  623.                     loadGridViewData(grid_start1, grid_start2, county_adapter,  
  624.                             countyOfTaiWan[cityId]);  
  625.                     break;  
  626.   
  627.                 default:  
  628.                     break;  
  629.                 }  
  630.             }  
  631.         });  
  632.         grid_start2.setOnItemClickListener(new OnItemClickListener() {  
  633.             @Override  
  634.             public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,  
  635.                     long arg3) {  
  636.                 TextView textView = (TextView) arg1  
  637.                         .findViewById(R.id.text_adapter_item);  
  638.                 strCounty = (String) textView.getText();  
  639.                 Log.e("test""county: " + arg2 + strCounty);  
  640.                 btn_county0.setText(strCounty);  
  641.                 grid_start2.setVisibility(View.GONE);  
  642.                 btn_county0  
  643.                         .setBackgroundResource(R.drawable.address_select_normal);  
  644.             }  
  645.         });  
  646.         // 目的地  
  647.         btn_province1.setOnClickListener(new OnClickListener() {  
  648.             @Override  
  649.             public void onClick(View v) {  
  650.                 if (!grid_destination0.isShown()) {  
  651.                     selectAndChange(grid_destination0, province_adapter,  
  652.                             R.array.province_item);  
  653.                     grid_destination0.setVisibility(View.VISIBLE);  
  654.                     btn_province1  
  655.                             .setBackgroundResource(R.drawable.address_select_pressed);  
  656.                     grid_destination1.setVisibility(View.GONE);  
  657.                     btn_city1  
  658.                             .setBackgroundResource(R.drawable.address_select_normal);  
  659.                     grid_destination2.setVisibility(View.GONE);  
  660.                     btn_county1  
  661.                             .setBackgroundResource(R.drawable.address_select_normal);  
  662.                 } else {  
  663.                     grid_destination0.setVisibility(View.GONE);  
  664.                     btn_province1  
  665.                             .setBackgroundResource(R.drawable.address_select_normal);  
  666.                 }  
  667.             }  
  668.         });  
  669.         btn_city1.setOnClickListener(new OnClickListener() {  
  670.             @Override  
  671.             public void onClick(View v) {  
  672.                 if (btn_province1.getText().equals("省份")) {  
  673.                     AlertDialog dialog = new AlertDialog.Builder(  
  674.                             PubNewInfoActivity.this)  
  675.                             .setMessage("请先选择省份")  
  676.                             .setPositiveButton("确定",  
  677.                                     new DialogInterface.OnClickListener() {  
  678.   
  679.                                         @Override  
  680.                                         public void onClick(  
  681.                                                 DialogInterface dialog,  
  682.                                                 int which) {  
  683.                                             // TODO Auto-generated method stub  
  684.                                             grid_destination0  
  685.                                                     .setVisibility(View.VISIBLE);  
  686.                                             btn_province1  
  687.                                                     .setBackgroundResource(R.drawable.address_select_pressed);  
  688.                                             grid_destination1  
  689.                                                     .setVisibility(View.GONE);  
  690.                                             btn_city1  
  691.                                                     .setBackgroundResource(R.drawable.address_select_normal);  
  692.                                             grid_destination2  
  693.                                                     .setVisibility(View.GONE);  
  694.                                             btn_county1  
  695.                                                     .setBackgroundResource(R.drawable.address_select_normal);  
  696.                                         }  
  697.                                     }).create();  
  698.                     dialog.show();  
  699.                 } else {  
  700.                     if (!grid_destination1.isShown()) {  
  701.                         grid_destination1.setVisibility(View.VISIBLE);  
  702.                         btn_city1  
  703.                                 .setBackgroundResource(R.drawable.address_select_pressed);  
  704.                         grid_destination0.setVisibility(View.GONE);  
  705.                         btn_province1  
  706.                                 .setBackgroundResource(R.drawable.address_select_normal);  
  707.                         grid_destination2.setVisibility(View.GONE);  
  708.                         btn_county1  
  709.                                 .setBackgroundResource(R.drawable.address_select_normal);  
  710.                     } else {  
  711.                         grid_destination1.setVisibility(View.GONE);  
  712.                         btn_city1  
  713.                                 .setBackgroundResource(R.drawable.address_select_normal);  
  714.                     }  
  715.                 }  
  716.             }  
  717.         });  
  718.         btn_county1.setOnClickListener(new OnClickListener() {  
  719.             @Override  
  720.             public void onClick(View v) {  
  721.                 if (btn_city1.getText().equals("城市")&&(!btn_province1.getText().equals("省份"))) {  
  722.                     AlertDialog dialog = new AlertDialog.Builder(  
  723.                             PubNewInfoActivity.this)  
  724.                             .setMessage("请先选择城市")  
  725.                             .setPositiveButton("确定",  
  726.                                     new DialogInterface.OnClickListener() {  
  727.   
  728.                                         @Override  
  729.                                         public void onClick(  
  730.                                                 DialogInterface dialog,  
  731.                                                 int which) {  
  732.                                             // TODO Auto-generated method stub  
  733.                                             grid_destination1  
  734.                                                     .setVisibility(View.VISIBLE);  
  735.                                             btn_city1  
  736.                                                     .setBackgroundResource(R.drawable.address_select_pressed);  
  737.                                             grid_destination0  
  738.                                                     .setVisibility(View.GONE);  
  739.                                             btn_province1  
  740.                                                     .setBackgroundResource(R.drawable.address_select_normal);  
  741.                                             grid_destination2  
  742.                                                     .setVisibility(View.GONE);  
  743.                                             btn_county1  
  744.                                                     .setBackgroundResource(R.drawable.address_select_normal);  
  745.                                         }  
  746.                                     }).create();  
  747.                     dialog.show();  
  748.                 } else if(btn_city1.getText().equals("城市")&&btn_province1.getText().equals("省份")){  
  749.                     AlertDialog dialog = new AlertDialog.Builder(  
  750.                             PubNewInfoActivity.this)  
  751.                             .setMessage("请先选择省份")  
  752.                             .setPositiveButton("确定",  
  753.                                     new DialogInterface.OnClickListener() {  
  754.   
  755.                                         @Override  
  756.                                         public void onClick(  
  757.                                                 DialogInterface dialog,  
  758.                                                 int which) {  
  759.                                             // TODO Auto-generated method stub  
  760.                                             grid_destination0  
  761.                                                     .setVisibility(View.VISIBLE);  
  762.                                             btn_province1  
  763.                                                     .setBackgroundResource(R.drawable.address_select_pressed);  
  764.                                             grid_destination1  
  765.                                                     .setVisibility(View.GONE);  
  766.                                             btn_city1  
  767.                                                     .setBackgroundResource(R.drawable.address_select_normal);  
  768.                                             grid_destination2  
  769.                                                     .setVisibility(View.GONE);  
  770.                                             btn_county1  
  771.                                                     .setBackgroundResource(R.drawable.address_select_normal);  
  772.                                         }  
  773.                                     }).create();  
  774.                     dialog.show();  
  775.                 }else{  
  776.                     if (!grid_destination2.isShown()) {  
  777.                         grid_destination2.setVisibility(View.VISIBLE);  
  778.                         btn_county1  
  779.                                 .setBackgroundResource(R.drawable.address_select_pressed);  
  780.                         grid_destination0.setVisibility(View.GONE);  
  781.                         btn_province1  
  782.                                 .setBackgroundResource(R.drawable.address_select_normal);  
  783.                         grid_destination1.setVisibility(View.GONE);  
  784.                         btn_city1  
  785.                                 .setBackgroundResource(R.drawable.address_select_normal);  
  786.                     } else {  
  787.                         grid_destination2.setVisibility(View.GONE);  
  788.                         btn_county1  
  789.                                 .setBackgroundResource(R.drawable.address_select_normal);  
  790.                     }  
  791.                 }  
  792.             }  
  793.         });  
  794.         grid_destination0.setOnItemClickListener(new OnItemClickListener() {  
  795.             @Override  
  796.             public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,  
  797.                     long arg3) {  
  798.                 provinceId = arg2;  
  799.                 TextView textView = (TextView) arg1  
  800.                         .findViewById(R.id.text_adapter_item);  
  801.                 strProvince1 = (String) textView.getText();  
  802.                 if (!btn_province1.getText().equals(strProvince)) {  
  803.                     grid_destination1.setVisibility(View.GONE);  
  804.                     btn_city1  
  805.                             .setBackgroundResource(R.drawable.address_select_normal);  
  806.                     grid_destination2.setVisibility(View.GONE);  
  807.                     btn_county1  
  808.                             .setBackgroundResource(R.drawable.address_select_normal);  
  809.                     btn_city1.setText("城市");  
  810.                     btn_county1.setText("区县");  
  811.                 }  
  812.                 Log.e("test""province: " + arg2 + strProvince1);  
  813.                 loadGridViewData(grid_destination0, grid_destination1,  
  814.                         city_adapter, city[arg2]);  
  815.                 btn_province1.setText(strProvince1);  
  816.                 btn_province1  
  817.                         .setBackgroundResource(R.drawable.address_select_normal);  
  818.             }  
  819.         });  
  820.         grid_destination1.setOnItemClickListener(new OnItemClickListener() {  
  821.             @Override  
  822.             public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,  
  823.                     long arg3) {  
  824.                 cityId = arg2;  
  825.                 TextView textView = (TextView) arg1  
  826.                         .findViewById(R.id.text_adapter_item);  
  827.                 strCity1 = (String) textView.getText();  
  828.                 if (!btn_city1.getText().equals(strCity1)) {  
  829.                     grid_destination2.setVisibility(View.GONE);  
  830.                     btn_county1  
  831.                             .setBackgroundResource(R.drawable.address_select_normal);  
  832.                     btn_county1.setText("区县");  
  833.                 }  
  834.                 btn_city1.setText(strCity1);  
  835.                 btn_city1  
  836.                         .setBackgroundResource(R.drawable.address_select_normal);  
  837.                 Log.e("test""city: " + arg2 + strCity1);  
  838.                 switch (provinceId) {  
  839.                 case 0:  
  840.                     loadGridViewData(grid_destination1, grid_destination2,  
  841.                             county_adapter, countyOfBeiJing[cityId]);  
  842.                     break;  
  843.                 case 1:  
  844.                     loadGridViewData(grid_destination1, grid_destination2,  
  845.                             county_adapter, countyOfTianJing[cityId]);  
  846.                     break;  
  847.                 case 2:  
  848.                     loadGridViewData(grid_destination1, grid_destination2,  
  849.                             county_adapter, countyOfHeBei[cityId]);  
  850.                     break;  
  851.                 case 3:  
  852.                     loadGridViewData(grid_destination1, grid_destination2,  
  853.                             county_adapter, countyOfShanXi1[cityId]);  
  854.                     break;  
  855.                 case 4:  
  856.                     loadGridViewData(grid_destination1, grid_destination2,  
  857.                             county_adapter, countyOfNeiMengGu[cityId]);  
  858.                     break;  
  859.                 case 5:  
  860.                     loadGridViewData(grid_destination1, grid_destination2,  
  861.                             county_adapter, countyOfLiaoNing[cityId]);  
  862.                     break;  
  863.                 case 6:  
  864.                     loadGridViewData(grid_destination1, grid_destination2,  
  865.                             county_adapter, countyOfJiLin[cityId]);  
  866.                     break;  
  867.                 case 7:  
  868.                     loadGridViewData(grid_destination1, grid_destination2,  
  869.                             county_adapter, countyOfHeiLongJiang[cityId]);  
  870.                     break;  
  871.                 case 8:  
  872.                     loadGridViewData(grid_destination1, grid_destination2,  
  873.                             county_adapter, countyOfShangHai[cityId]);  
  874.                     break;  
  875.                 case 9:  
  876.                     loadGridViewData(grid_destination1, grid_destination2,  
  877.                             county_adapter, countyOfJiangSu[cityId]);  
  878.                     break;  
  879.                 case 10:  
  880.                     loadGridViewData(grid_destination1, grid_destination2,  
  881.                             county_adapter, countyOfZheJiang[cityId]);  
  882.                     break;  
  883.                 case 11:  
  884.                     loadGridViewData(grid_destination1, grid_destination2,  
  885.                             county_adapter, countyOfAnHui[cityId]);  
  886.                     break;  
  887.                 case 12:  
  888.                     loadGridViewData(grid_destination1, grid_destination2,  
  889.                             county_adapter, countyOfFuJian[cityId]);  
  890.                     break;  
  891.                 case 13:  
  892.                     loadGridViewData(grid_destination1, grid_destination2,  
  893.                             county_adapter, countyOfJiangXi[cityId]);  
  894.                     break;  
  895.                 case 14:  
  896.                     loadGridViewData(grid_destination1, grid_destination2,  
  897.                             county_adapter, countyOfShanDong[cityId]);  
  898.                     break;  
  899.                 case 15:  
  900.                     loadGridViewData(grid_destination1, grid_destination2,  
  901.                             county_adapter, countyOfHeNan[cityId]);  
  902.                     break;  
  903.                 case 16:  
  904.                     loadGridViewData(grid_destination1, grid_destination2,  
  905.                             county_adapter, countyOfHuBei[cityId]);  
  906.                     break;  
  907.                 case 17:  
  908.                     loadGridViewData(grid_destination1, grid_destination2,  
  909.                             county_adapter, countyOfHuNan[cityId]);  
  910.                     break;  
  911.                 case 18:  
  912.                     loadGridViewData(grid_destination1, grid_destination2,  
  913.                             county_adapter, countyOfGuangDong[cityId]);  
  914.                     break;  
  915.                 case 19:  
  916.                     loadGridViewData(grid_destination1, grid_destination2,  
  917.                             county_adapter, countyOfGuangXi[cityId]);  
  918.                     break;  
  919.                 case 20:  
  920.                     loadGridViewData(grid_destination1, grid_destination2,  
  921.                             county_adapter, countyOfHaiNan[cityId]);  
  922.                     break;  
  923.                 case 21:  
  924.                     loadGridViewData(grid_destination1, grid_destination2,  
  925.                             county_adapter, countyOfChongQing[cityId]);  
  926.                     break;  
  927.                 case 22:  
  928.                     loadGridViewData(grid_destination1, grid_destination2,  
  929.                             county_adapter, countyOfSiChuan[cityId]);  
  930.                     break;  
  931.                 case 23:  
  932.                     loadGridViewData(grid_destination1, grid_destination2,  
  933.                             county_adapter, countyOfGuiZhou[cityId]);  
  934.                     break;  
  935.                 case 24:  
  936.                     loadGridViewData(grid_destination1, grid_destination2,  
  937.                             county_adapter, countyOfYunNan[cityId]);  
  938.                     break;  
  939.                 case 25:  
  940.                     loadGridViewData(grid_destination1, grid_destination2,  
  941.                             county_adapter, countyOfXiZang[cityId]);  
  942.                     break;  
  943.                 case 26:  
  944.                     loadGridViewData(grid_destination1, grid_destination2,  
  945.                             county_adapter, countyOfShanXi2[cityId]);  
  946.                     break;  
  947.                 case 27:  
  948.                     loadGridViewData(grid_destination1, grid_destination2,  
  949.                             county_adapter, countyOfGanSu[cityId]);  
  950.                     break;  
  951.                 case 28:  
  952.                     loadGridViewData(grid_destination1, grid_destination2,  
  953.                             county_adapter, countyOfQingHai[cityId]);  
  954.                     break;  
  955.                 case 29:  
  956.                     loadGridViewData(grid_destination1, grid_destination2,  
  957.                             county_adapter, countyOfNingXia[cityId]);  
  958.                     break;  
  959.                 case 30:  
  960.                     loadGridViewData(grid_destination1, grid_destination2,  
  961.                             county_adapter, countyOfXinJiang[cityId]);  
  962.                     break;  
  963.                 case 31:  
  964.                     loadGridViewData(grid_destination1, grid_destination2,  
  965.                             county_adapter, countyOfHongKong[cityId]);  
  966.                     break;  
  967.                 case 32:  
  968.                     loadGridViewData(grid_destination1, grid_destination2,  
  969.                             county_adapter, countyOfAoMen[cityId]);  
  970.                     break;  
  971.                 case 33:  
  972.                     loadGridViewData(grid_destination1, grid_destination2,  
  973.                             county_adapter, countyOfTaiWan[cityId]);  
  974.                     break;  
  975.   
  976.                 default:  
  977.                     break;  
  978.                 }  
  979.             }  
  980.         });  
  981.         grid_destination2.setOnItemClickListener(new OnItemClickListener() {  
  982.             @Override  
  983.             public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,  
  984.                     long arg3) {  
  985.                 TextView textView = (TextView) arg1  
  986.                         .findViewById(R.id.text_adapter_item);  
  987.                 strCounty1 = (String) textView.getText();  
  988.                 Log.e("test""county: " + arg2 + strCounty1);  
  989.                 btn_county1.setText(strCounty1);  
  990.                 grid_destination2.setVisibility(View.GONE);  
  991.                 btn_county1  
  992.                         .setBackgroundResource(R.drawable.address_select_normal);  
  993.             }  
  994.         });  
  995.     }  
  996.   
  997.     private void selectAndChange(MyGridView myGridView,  
  998.             ArrayAdapter<CharSequence> adapter, int array) {  
  999.         myGridView.setVisibility(View.VISIBLE);  
  1000.         adapter = ArrayAdapter.createFromResource(this, array,  
  1001.                 R.layout.grid_adapter_item);  
  1002.         myGridView.setAdapter(adapter);  
  1003.     }  
  1004.   
  1005.     private void loadGridViewData(MyGridView myGridView0,  
  1006.             MyGridView myGridView, ArrayAdapter<CharSequence> adapter, int array) {  
  1007.         adapter = ArrayAdapter.createFromResource(this, array,  
  1008.                 R.layout.grid_adapter_item);  
  1009.         myGridView.setAdapter(adapter);  
  1010.         myGridView0.setVisibility(View.GONE);  
  1011.     }  
  1012.   
  1013.     private void initView() {  
  1014.         btn_province0 = (Button) findViewById(R.id.btn_province);  
  1015.         btn_province1 = (Button) findViewById(R.id.btn_province1);  
  1016.         btn_city0 = (Button) findViewById(R.id.btn_city);  
  1017.         btn_city1 = (Button) findViewById(R.id.btn_city1);  
  1018.         btn_county0 = (Button) findViewById(R.id.btn_county);  
  1019.         btn_county1 = (Button) findViewById(R.id.btn_county1);  
  1020.         grid_start0 = (MyGridView) findViewById(R.id.gridview_start_with0);  
  1021.         grid_destination0 = (MyGridView) findViewById(R.id.gridview_destination0);  
  1022.         grid_start1 = (MyGridView) findViewById(R.id.gridview_start_with1);  
  1023.         grid_destination1 = (MyGridView) findViewById(R.id.gridview_destination1);  
  1024.         grid_start2 = (MyGridView) findViewById(R.id.gridview_start_with2);  
  1025.         grid_destination2 = (MyGridView) findViewById(R.id.gridview_destination2);  
  1026.     }  
  1027.   
  1028. }  

http://blog.csdn.net/cai1213/article/details/7951370
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值