Android 省市县 三级联动(android-wheel的使用)[转]

时间:2021-07-12 22:58:28

转载:http://blog.csdn.net/lmj623565791/article/details/23382805

今天没事跟群里面侃大山,有个哥们说道Android Wheel这个控件,以为是Andriod内置的控件,google一把,发现是个github上的一个控件。

下载地址:https://code.google.com/p/android-wheel/    发现很适合做省市县三级联动就做了一个。

先看下效果图:

Android 省市县 三级联动(android-wheel的使用)[转]

1、首先导入github上的wheel项目Android 省市县 三级联动(android-wheel的使用)[转]

2、新建个项目,然后选择记得右键->Properties->Android中将wheel添加为lib:

Android 省市县 三级联动(android-wheel的使用)[转]

上面两个步骤是导入所有开源项目的过程了。

3、下面开始代码的编写:首先是省市区的json文件,放置在asserts的city.json中:

大概的格式先了解一下,一会代码会根据这样的格式解析

  1. {"citylist":
  2. [{"p":"河北",
  3. "c":[{"n":"石家庄",
  4. "a":[{"s":"长安区"},{"s":"桥东区"},{"s":"鹿泉市"}]
  5. }]
  6. }

4、布局文件,比较简单就3个WheelView分别代表省,市,县,还有一个按钮:

  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:background="#000000"
  6. android:orientation="vertical" >
  7. <TextView
  8. android:layout_width="wrap_content"
  9. android:layout_height="wrap_content"
  10. android:layout_gravity="center"
  11. android:layout_margin="10dp"
  12. android:text="请选择城市"
  13. android:textColor="#ffffff"
  14. android:textSize="20sp" />
  15. <LinearLayout
  16. android:layout_width="fill_parent"
  17. android:layout_height="wrap_content"
  18. android:background="@drawable/layout_bg"
  19. android:orientation="horizontal" >
  20. <kankan.wheel.widget.WheelView
  21. android:id="@+id/id_province"
  22. android:layout_width="0dp"
  23. android:layout_height="wrap_content"
  24. android:layout_weight="1" >
  25. </kankan.wheel.widget.WheelView>
  26. <kankan.wheel.widget.WheelView
  27. android:id="@+id/id_city"
  28. android:layout_width="0dp"
  29. android:layout_height="wrap_content"
  30. android:layout_weight="1" >
  31. </kankan.wheel.widget.WheelView>
  32. <kankan.wheel.widget.WheelView
  33. android:id="@+id/id_area"
  34. android:layout_width="0dp"
  35. android:layout_height="wrap_content"
  36. android:layout_weight="1" >
  37. </kankan.wheel.widget.WheelView>
  38. </LinearLayout>
  39. <Button
  40. android:onClick="showChoose"
  41. android:layout_gravity="right"
  42. android:layout_width="wrap_content"
  43. android:layout_height="wrap_content"
  44. android:text="确定"
  45. />
  46. </LinearLayout>

5、Activity的编写:注释相当详细,节不赘述了。

红色部分是我转载过修复的bug部分

源码下载点击这里