android 中得Spinner相当于是一个下拉框,通常可以用来实现地区选择、OA中用户名称选择等。我这里就以选择国家编码为准写了一个简单的应用,希望对大家有所帮助。
首选定义一个Spinner的xml:
<Spinner android:id="@+id/authorUnitState" android:layout_width="fill_parent" android:layout_height="wrap_content" android:entries="@array/phone_code_list" />
国家编码数据 phone_code_list 内容如下
<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="phone_code_list" translatable="false"> <item>United States +1</item> <item>Taiwan +886</item> <item>China +86</item> <item>Abkhazia +7840</item> <item>Afghanistan +93</item> <item>Albania +355</item> <item>Algeria +213</item> <item>American Samoa +1684</item> <item>Andorra +376</item> <item>Angola +244</item> <item>Anguilla +1264</item> <item>Antigua and Barbuda +1268</item> <item>Argentina +54</item> <item>Armenia +374</item> <item>Aruba +297</item> <item>Ascension +247</item> <item>Australia +61</item> <item>Australian External Territories +672</item> <item>Austria +43</item> <item>Azerbaijan +994</item> <item>Bahamas +1242</item> <item>Bahrain +973</item> <item>Bangladesh +880</item> <item>Barbados +1246</item> <item>Barbuda +1268</item> <item>Belarus +375</item> <item>Belgium +32</item> <item>Belize +501</item> <item>Benin +229</item> <item>Bermuda +1441</item> <item>Bhutan +975</item> <item>Bolivia +591</item> <item>Bonaire +5997</item> <item>Bosnia and Herzegovina +387</item> <item>Botswana +267</item> <item>Brazil +55</item> <item>British Indian Ocean Territory +246</item> <item>British Virgin Islands +1284</item> <item>Brunei Darussalam +673</item> <item>Bulgaria +359</item> <item>Burkina Faso +226</item> <item>Burma +95</item> <item>Burundi +257</item> <item>Cambodia +855</item> <item>Cameroon +237</item> <item>Canada +1</item> <item>Cape Verde +238</item> <item>Caribbean Netherlands +5993</item> <item>Cayman Islands +1345</item> <item>Central African Republic+236</item> <item>Chad +235</item> <item>Chatham Island (New Zealand) +64</item> <item>Chile +56</item> <item>Christmas Island +61</item> <item>Cocos (Keeling) Islands +61</item> <item>Colombia +57</item> <item>Comoros +269</item> <item>Congo (Brazzaville) +242</item> <item>Congo, The Democratic Republic of the (Zaire) +243</item> <item>Cook Islands +682</item> <item>Costa Rica +506</item> <item>Croatia +385</item> <item>Cuba +53</item> <item>Cuba (Guantanamo Bay) +5399</item> <item>Curaçao +5999</item> <item>Cyprus +357</item> <item>Czech Republic +420</item> <item>Denmark +45</item> <item>Diego Garcia +246</item> <item>Djibouti +253</item> <item>Dominica +1767</item> <item>Dominican Republic +1809</item> <item>East Timor +670</item> <item>Easter Island +56</item> <item>Ecuador +593</item> <item>Egypt +20</item> <item>El Salvador +503</item> <item>Equatorial Guinea +240</item> <item>Eritrea +291</item> <item>Estonia +372</item> <item>Ethiopia +251</item> <item>Falkland Islands (Malvinas) +500</item> <item>Faroe Islands +298</item> <item>Fiji +679</item> <item>Finland +358</item> <item>France +33</item> <item>French Antilles +596</item> <item>French Guiana +594</item> <item>French Polynesia +689</item> <item>Gabon +241</item> <item>Gambia +220</item> <item>Georgia +995</item> <item>Germany +49</item> <item>Ghana +233</item> <item>Gibraltar +350</item> <item>Greece +30</item> <item>Greenland +299</item> <item>Grenada +1473</item> <item>Guadeloupe +590</item> <item>Guam +1671</item> <item>Guatemala +502</item> <item>Guernsey +44</item> <item>Guinea +224</item> <item>Guinea-Bissau +245</item> <item>Guyana +592</item> <item>Haiti +509</item> <item>Holy See (Vatican City State) +39066</item> <item>Honduras +504</item> <item>Hong Kong +852</item> <item>Hungary +36</item> <item>Iceland +354</item> <item>India +91</item> <item>Indonesia +62</item> <item>Inmarsat SNAC +870</item> <item>International Freephone Service +800</item> <item>Iran +98</item> <item>Iraq +964</item> <item>Ireland +353</item> <item>Isle of Man +44</item> <item>Israel +972</item> <item>Italy +39</item> <item>Jamaica +1876</item> <item>Japan +81</item> <item>Jersey +44</item> <item>Jordan +962</item> <item>Kazakhstan +76</item> <item>Kenya +254</item> <item>Kiribati +686</item> <item>Kuwait +965</item> <item>Kyrgyzstan +996</item> <item>Laos +856</item> <item>Latvia +371</item> <item>Lebanon +961</item> <item>Lesotho +266</item> <item>Liberia +231</item> <item>Libya +218</item> <item>Liechtenstein +423</item> <item>Lithuania +370</item> <item>Luxembourg +352</item> <item>Macau +853</item> <item>Macedonia +389</item> <item>Madagascar +261</item> <item>Malawi +265</item> <item>Malaysia +60</item> <item>Maldives +960</item> <item>Mali +223</item> <item>Malta +356</item> <item>Marshall Islands +692</item> <item>Martinique +596</item> <item>Mauritania +222</item> <item>Mauritius +230</item> <item>Mayotte +262</item> <item>Mexico +52</item> <item>Micronesia, Federated States of +691</item> <item>Midway Island +1808</item> <item>Moldova +373</item> <item>Monaco +377</item> <item>Mongolia +976</item> <item>Montenegro +382</item> <item>Montserrat +1664</item> <item>Morocco +212</item> <item>Mozambique +258</item> <item>Namibia +264</item> <item>Nauru +674</item> <item>Nepal +977</item> <item>Netherlands +31</item> <item>Nevis +1869</item> <item>New Caledonia +687</item> <item>New Zealand +64</item> <item>Nicaragua +505</item> <item>Niger +227</item> <item>Nigeria +234</item> <item>Niue +683</item> <item>Norfolk Island +672</item> <item>North Korea +850</item> <item>Northern Mariana Islands +1670</item> <item>Norway +47</item> <item>Oman +968</item> <item>Pakistan +92</item> <item>Palau +680</item> <item>Palestinian territories +970</item> <item>Panama +507</item> <item>Papua New Guinea +675</item> <item>Paraguay +595</item> <item>Peru +51</item> <item>Philippines +63</item> <item>Poland +48</item> <item>Portugal +351</item> <item>Puerto Rico +1787</item> <item>Qatar +974</item> <item>Romania +40</item> <item>Russia +7</item> <item>Rwanda +250</item> <item>Réunion +262</item> <item>Saba +5994</item> <item>Saint Barthélemy +590</item> <item>Saint Helena and Tristan da Cunha +290</item> <item>Saint Kitts and Nevis +1869</item> <item>Saint Lucia +1758</item> <item>Saint Martin (French) +590</item> <item>Saint Pierre and Miquelon +508</item> <item>Saint Vincent and the Grenadines +1784</item> <item>Samoa +685</item> <item>San Marino +378</item> <item>Saudi Arabia +966</item> <item>Senegal +221</item> <item>Serbia +381</item> <item>Seychelles +248</item> <item>Sierra Leone +232</item> <item>Singapore +65</item> <item>Sint Eustatius +5993</item> <item>Sint Maarten (Dutch) +1721</item> <item>Slovakia +421</item> <item>Slovenia +386</item> <item>Solomon Islands +677</item> <item>Somalia +252</item> <item>South Africa +27</item> <item>South Georgia and the South Sandwich Islands +500</item> <item>South Korea +82</item> <item>South Ossetia +99534</item> <item>South Sudan +211</item> <item>Spain +34</item> <item>Sri Lanka +94</item> <item>Sudan +249</item> <item>Suriname +597</item> <item>Svalbard and Jan Mayen +47</item> <item>Swaziland +268</item> <item>Sweden +46</item> <item>Switzerland +41</item> <item>Syria +963</item> <item>São Tomé and Príncipe +239</item> <item>Tajikistan +992</item> <item>Tanzania +255</item> <item>Thailand +66</item> <item>Togo +228</item> <item>Tokelau +690</item> <item>Tonga +676</item> <item>Trinidad and Tobago +1868</item> <item>Tunisia +216</item> <item>Turkey +90</item> <item>Turkmenistan +993</item> <item>Turks and Caicos Islands +1649</item> <item>Tuvalu +688</item> <item>Uganda +256</item> <item>Ukraine +380</item> <item>United Arab Emirates +971</item> <item>United Kingdom +44</item> <item>Uruguay +598</item> <item>Uzbekistan +998</item> <item>Vanuatu +678</item> <item>Vatican City State (Holy See) +39066</item> <item>Venezuela +58</item> <item>Vietnam +84</item> <item>Virgin Islands, British +1284</item> <item>Virgin Islands, US +1340</item> <item>Wake Island +1808</item> <item>Wallis and Futuna +681</item> <item>Yemen +967</item> <item>Zambia +260</item> <item>Zanzibar +255</item> <item>Zimbabwe +263</item> <item>Åland Islands +358</item> </string-array> </resources>
这个文件保存在你的/values/arrays.xml 里面。
最后在你的Activity 里面直接调用就行了。
效果如下: