1. 程式人生 > >使用PickerView實現省市區三級聯動(小白篇)

使用PickerView實現省市區三級聯動(小白篇)

1.概述 

  之前自己做專案的時候需要用到省市區三級聯動的效果,本來想自己做一個,可是後來看到了github上的開源專案pickerView,個人感覺非常好用,然後去百度的時候發現好多人的部落格寫的太過於簡單,好多人是直接複製開發者的使用介紹,導致很多新手朋友沒辦法使用,在下面留言也很少有迴應,鑑於我自己也是一個新手,所以希望通過自己這篇部落格,能幫助大家攻克這個難關,如果你也是新手,有什麼不懂的不會的歡迎加我的QQ 250317460 大家一起討論共同進步。

2.實現效果

3.原理分析

1.我這裡沒有使用新增依賴的方法,而是去下載了他的demo,一來這樣方便自己對這個專案的理解,二來可以自定義內容,比如你不想要時間選擇器精確到秒的,或者是其他的內容都可以自己更改,好,那當然第一步你需要下載個demo了。

https://github.com/Bigkoo/Android-PickerView,進入這個地址,點選右下側的clone or download,將這個壓縮包下載下來,如果你那邊下載不動的話可以加我的QQ250317460,我私發給你。

2.下載好之後,你把他解壓出來,然後用studio開啟他,這是一個完整的專案,你開啟就可以直接執行的,然後我們來分析一下里面的程式碼,當然是從Mainactivity開始分析了,由於我們本次實現的是省市區三級聯動,所以其他的功能我就不帶大家分析了,我可能會在下篇文章單獨拿出來分析時間選擇器和二級聯動,完了我們在oncreate()方法裡面發現主函式並沒有三級聯動的資訊,那是因為開發者把他放到了另外一個活動JsonDataActivity中了,所以咱們現在開啟JsonDataAcitivity

3.OK開啟之後呢你應該會看到三個陣列,這三個陣列依次代表省市區,三個我們想要的值,然後我們還是看oncreate函式,裡面除了常規的程式碼之外,有一行 initView,然後我們往下翻,可以找到這個函式,可以看到裡面只是設定了兩個監聽,那我們就可以跳轉到onClick()函式當中了,可以看到btn_data按鈕是用來實現解析json資料的,mHandler.sendEmptyMessage(),函式是解析的具體函式,那我們就應該明白,如果你在專案中想一開啟就自動解析,只需要把這個函式加到oncreate()函式當中去就可以了,那當然另外一個函式就是展示了,如果你想要實現一點一個textvIew就展示,就把這個函式放到你的textView的監聽器中去,OK,搞懂了這些原理,下面就說說如何匯入到你自己專案中去。

4.匯入到自己專案中去

1.還是看這個專案左側,有一個pickerview資料夾,把這個資料夾放到桌面上或者任何一個你方便找的地方

2.開啟自己的專案在app下的build中新增如下依賴

compile 'com.contrarywind:Android-PickerView:4.1.5'
compile 'com.google.code.gson:gson:2.7'

接著按下圖進行

然後你把剛才讓你儲存的檔案找到,等待他匯入成功

4.成功之後,在左邊專案欄裡面找到app

這個資料夾右鍵

點選開啟,找到這個

就可以看到剛才匯入的module了,單擊OK就新增成功了。這樣你就可以使用pickerview了

5.下一步就是CV的問題了

可以看一下我從demo裡面CV過來的檔案,其中有一些做了改動

主函式的佈局

其他不改動,這個程式就可以運行了。然後你可以根據剛才一起分析的原理進行改動了。