1. 程式人生 > >Android 省市縣 三級聯動(android-wheel的使用)

Android 省市縣 三級聯動(android-wheel的使用)

轉載請註明出處:http://blog.csdn.net/lmj623565791/article/details/23382805

今天沒事跟群裡面侃大山,有個哥們說道Android Wheel這個控制元件,以為是Andriod內建的控制元件,google一把,發現是個github上的一個控制元件。

下載地址:https://code.google.com/p/android-wheel/    發現很適合做省市縣三級聯動就做了一個。

先看下效果圖:

1、首先匯入github上的wheel專案

2、新建個專案,然後選擇記得右鍵->Properties->Android中將wheel新增為lib:


上面兩個步驟是匯入所有開源專案的過程了。

3、下面開始程式碼的編寫:首先是省市區的json檔案,放置在asserts的city.json中:

大概的格式先了解一下,一會程式碼會根據這樣的格式解析

  1. {"citylist":  
  2.     [{"p":"河北",  
  3.       "c":[{"n":"石家莊",  
  4.       "a":[{"s":"長安區"},{"s":"橋東區"},{"s":"鹿泉市"}]  
  5.     }]  
  6. }  

4、佈局檔案,比較簡單就3個WheelView分別代表省,市,縣,還有一個按鈕:
  1. <
    LinearLayoutxmlns: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的編寫:註釋相當詳細,節不贅述了。
  1. package com.example.wheel_province;  
  2. import java.io.IOException;  
  3. import java.io.InputStream;  
  4. import java.util.HashMap;  
  5. import java.util.Map;  
  6. import kankan.wheel.widget.OnWheelChangedListener;  
  7. import kankan.wheel.widget.WheelView;  
  8. import kankan.wheel.widget.adapters.ArrayWheelAdapter;  
  9. import org.json.JSONArray;  
  10. import org.json.JSONException;  
  11. import org.json.JSONObject;  
  12. import android.app.Activity;  
  13. import android.os.Bundle;  
  14. import android.view.View;  
  15. import android.widget.Toast;  
  16. /** 
  17.  *  
  18.  * @author zhy 
  19.  *  
  20.  */
  21. publicclass CitiesActivity extends Activity implements OnWheelChangedListener  
  22. {  
  23.     /** 
  24.      * 把全國的省市區的資訊以json的格式儲存,解析完成後賦值為null 
  25.      */
  26.     private JSONObject mJsonObj;  
  27.     /** 
  28.      * 省的WheelView控制元件 
  29.      */
  30.     private WheelView mProvince;  
  31.     /** 
  32.      * 市的WheelView控制元件 
  33.      */
  34.     private WheelView mCity;  
  35.     /** 
  36.      * 區的WheelView控制元件 
  37.      */
  38.     private WheelView mArea;  
  39.     /** 
  40.      * 所有省 
  41.      */
  42.     private String[] mProvinceDatas;  
  43.     /** 
  44. 相關推薦

    Android 市縣 三級聯動android-wheel的使用

    轉載請註明出處:http://blog.csdn.net/lmj623565791/article/details/23382805 今天沒事跟群裡面侃大山,有個哥們說道Android Wheel這個控制元件,以為是Andriod內建的控制元件,google一把

    Android市縣三級聯動 真實專案抽出 呼叫只需3行程式碼

    專案原始碼:包含日期、省市縣兩種選擇器[資源積分:0分] ,APK安裝包下載,沒有CSDN賬戶的的點此下載原始碼 fastjson:自己複製部落格裡原始碼的小夥伴,注意匯入fastjson框架哦!阿里巴巴出品的最快json解析框架日期選擇器:效果圖中的選擇年月日的日

    市縣三級聯動與後臺僅互動一次

    <script type="text/javascript">     // 省市縣三級假資料,實際開發中,該變數的值可改為AJAX獲取     var area = "[{id:101,name:'北京',pid:0},{id:102,name:'山東',pi

    C#市縣三級聯動listbox)

    //省 private void lbProvince_SelectedIndexChanged(object sender, EventArgs e) { DataTable table

    android與HTML5相結合實現的市縣三級聯動

    eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--){d[c]=k[c]||c}k=[function(e){return d[e]}];e=function(){return'\\w

    android開發——用GridView實現市縣三級聯動

    前段時間寫了一個DEMO,裡面用到省市縣三級聯動的功能,稍微整理了一下。以下程式碼中大部分資料來源於網上的下拉列表的省市縣三級聯動的例子,這裡我作出了改動,用的是GridView來顯示省市縣,程式碼有點繁瑣,但是顯示效果還是不錯的。 顯示效果如下圖所示:未點選按

    PC原生——市縣三級聯動

    1、樣式展示: 2、html: <div class="message_li_type"> <span class="message_li_type_span">地址</span>

    購物車和用戶交互,顯示市縣三級聯動的選擇

    car strip 技術 元素 用戶交互 分享 set 功能 true 購物車 購物車 功能要求: 要求用戶輸入總資產,例如:2000 顯示商品列表,讓用戶根據序號選擇商品,加入購物車 購買,如果商品總額大於總資產,提示賬戶余額不足,否則,購買成功。 附加:可充值、某

    AJAX-簡單的市縣三級聯動

    rip cnblogs wid clas 指定 聯動 ajax func 分享 index.html 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta c

    原生js使用ajax實現市縣三級聯動

    chang onchange mes ror charset += ctype type nload <!DOCTYPE html> <html lang="en"> <head> <meta charset="U

    市縣三級聯動多種實現方式

    採用HTML+css+jQuery 後臺使用Javaweb+JDBC+DBUtils+MySQL   省市縣資料為資料庫獲取的資料   後期也會增加準確度更高的行政區劃分資料,供網友參考使用。   歡迎關注部落格:https://blog.c

    PHP+Ajax+Mysql市縣三級聯動

    PHP+Ajax+Mysql省市縣三級聯動 前言 之前寫了個小demo, 用PHP+Ajax實現一個簡單的二級城市聯動, 傳送門。之前用它來練手一下使用Ajax和PHP進行互動,所以資料就簡單的以陣列的形式存放在PHP檔案中,但實際投入生產使用的專案

    市縣三級聯動小結

    html前端程式碼 <div class="ui-page">     <div class="ui-container">         <div class="ui-border-bottom f

    JavaScript市縣三級聯動-含原始碼

    目錄 一、省市縣三級聯動 1.實現思路 1.建立省市縣三級地址,分別採用下列方式表示 省份:使用一維陣列 城市:使用二維陣列,和一維陣列省份對應 區/縣:使用三維陣列,和二維陣列城市對應 2.建立HTML檔案,然後建立三個select選

    原生JS市縣三級聯動選單

    <html> <head> <title>JS省市縣三級聯動選單</title> <meta http-equiv="Content-Type" content="text/html; char

    市縣三級聯動

    <style> a,body,select{font-size:12px;text-decoration:none;} a,pre{color:#808080;} body{background:#efefef;} </style> <pre&

    jQuery實現市縣三級聯動選單

    使用JQuery實現的全國省市縣三級聯動選單,沒有使用ajax,資料也不是從資料庫中動態讀取出來的,就是簡單的jquery,方便實用,實現效果如下圖: 1、定義資料,我們可以將省、市、縣定義為一個js檔案中,分別為三個陣列存放,下面是舉例,所以只列出部分省、市、縣,全國

    PHP+ajax實現市縣三級聯動

    //首頁 <?php header('content-type:text/html;charset=utf-8');$conn=mysql_connect('localhost','root','')or die('資料庫連線失敗!');mysql_select_db

    js市縣三級聯動下拉列表的示例

    function selectOnChange(SelId,toSelId){//document.getElementById(toSelId).innerHTML="";$.ajax({url:"<%=basePath%>medium/findAreaByParentId.do",type:"

    市縣三級聯動 javascript 原生實現例項

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>三級 省市區</title> </head> <body> &l