android spinner 实现国码选择

     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 里面直接调用就行了。

效果如下:

 android spinner 实现国码选择

你可能感兴趣的:(android)