La création d'un spinner pour le choix de code de pays
Je veux créer un spinner pour sélectionner un pays et d'obtenir son code de pays.
J'ai déjà trouvé cette liste d'article:
<string-array name="countryCodes">
<item>93,AF</item>
<item>355,AL</item>
<item>213,DZ</item>
<item>376,AD</item>
<item>244,AO</item>
<item>672,AQ</item>
<item>54,AR</item>
<item>374,AM</item>
<item>297,AW</item>
<item>61,AU</item>
<item>43,AT</item>
<item>994,AZ</item>
<item>973,BH</item>
<item>880,BD</item>
<item>375,BY</item>
<item>32,BE</item>
<item>501,BZ</item>
<item>229,BJ</item>
<item>975,BT</item>
<item>591,BO</item>
<item>387,BA</item>
<item>267,BW</item>
<item>55,BR</item>
<item>673,BN</item>
<item>359,BG</item>
<item>226,BF</item>
<item>95,MM</item>
<item>257,BI</item>
<item>855,KH</item>
<item>237,CM</item>
<item>1,CA</item>
<item>238,CV</item>
<item>236,CF</item>
<item>235,TD</item>
<item>56,CL</item>
<item>86,CN</item>
<item>61,CX</item>
<item>61,CC</item>
<item>57,CO</item>
<item>269,KM</item>
<item>242,CG</item>
<item>243,CD</item>
<item>682,CK</item>
<item>506,CR</item>
<item>385,HR</item>
<item>53,CU</item>
<item>357,CY</item>
<item>420,CZ</item>
<item>45,DK</item>
<item>253,DJ</item>
<item>670,TL</item>
<item>593,EC</item>
<item>20,EG</item>
<item>503,SV</item>
<item>240,GQ</item>
<item>291,ER</item>
<item>372,EE</item>
<item>251,ET</item>
<item>500,FK</item>
<item>298,FO</item>
<item>679,FJ</item>
<item>358,FI</item>
<item>33,FR</item>
<item>689,PF</item>
<item>241,GA</item>
<item>220,GM</item>
<item>995,GE</item>
<item>49,DE</item>
<item>233,GH</item>
<item>350,GI</item>
<item>30,GR</item>
<item>299,GL</item>
<item>502,GT</item>
<item>224,GN</item>
<item>245,GW</item>
<item>592,GY</item>
<item>509,HT</item>
<item>504,HN</item>
<item>852,HK</item>
<item>36,HU</item>
<item>91,IN</item>
<item>62,ID</item>
<item>98,IR</item>
<item>964,IQ</item>
<item>353,IE</item>
<item>44,IM</item>
<item>972,IL</item>
<item>39,IT</item>
<item>225,CI</item>
<item>81,JP</item>
<item>962,JO</item>
<item>7,KZ</item>
<item>254,KE</item>
<item>686,KI</item>
<item>965,KW</item>
<item>996,KG</item>
<item>856,LA</item>
<item>371,LV</item>
<item>961,LB</item>
<item>266,LS</item>
<item>231,LR</item>
<item>218,LY</item>
<item>423,LI</item>
<item>370,LT</item>
<item>352,LU</item>
<item>853,MO</item>
<item>389,MK</item>
<item>261,MG</item>
<item>265,MW</item>
<item>60,MY</item>
<item>960,MV</item>
<item>223,ML</item>
<item>356,MT</item>
<item>692,MH</item>
<item>222,MR</item>
<item>230,MU</item>
<item>262,YT</item>
<item>52,MX</item>
<item>691,FM</item>
<item>373,MD</item>
<item>377,MC</item>
<item>976,MN</item>
<item>382,ME</item>
<item>212,MA</item>
<item>258,MZ</item>
<item>264,NA</item>
<item>674,NR</item>
<item>977,NP</item>
<item>31,NL</item>
<item>599,AN</item>
<item>687,NC</item>
<item>64,NZ</item>
<item>505,NI</item>
<item>227,NE</item>
<item>234,NG</item>
<item>683,NU</item>
<item>850,KP</item>
<item>47,NO</item>
<item>968,OM</item>
<item>92,PK</item>
<item>680,PW</item>
<item>507,PA</item>
<item>675,PG</item>
<item>595,PY</item>
<item>51,PE</item>
<item>63,PH</item>
<item>870,PN</item>
<item>48,PL</item>
<item>351,PT</item>
<item>1,PR</item>
<item>974,QA</item>
<item>40,RO</item>
<item>7,RU</item>
<item>250,RW</item>
<item>590,BL</item>
<item>685,WS</item>
<item>378,SM</item>
<item>239,ST</item>
<item>966,SA</item>
<item>221,SN</item>
<item>381,RS</item>
<item>248,SC</item>
<item>232,SL</item>
<item>65,SG</item>
<item>421,SK</item>
<item>386,SI</item>
<item>677,SB</item>
<item>252,SO</item>
<item>27,ZA</item>
<item>82,KR</item>
<item>34,ES</item>
<item>94,LK</item>
<item>290,SH</item>
<item>508,PM</item>
<item>249,SD</item>
<item>597,SR</item>
<item>268,SZ</item>
<item>46,SE</item>
<item>41,CH</item>
<item>963,SY</item>
<item>886,TW</item>
<item>992,TJ</item>
<item>255,TZ</item>
<item>66,TH</item>
<item>228,TG</item>
<item>690,TK</item>
<item>676,TO</item>
<item>216,TN</item>
<item>90,TR</item>
<item>993,TM</item>
<item>688,TV</item>
<item>971,AE</item>
<item>256,UG</item>
<item>44,GB</item>
<item>380,UA</item>
<item>598,UY</item>
<item>1,US</item>
<item>998,UZ</item>
<item>678,VU</item>
<item>39,VA</item>
<item>58,VE</item>
<item>84,VN</item>
<item>681,WF</item>
<item>967,YE</item>
<item>260,ZM</item>
<item>263,ZW</item>
</string-array>
Mais il ne contient pas l'ensemble des noms, seulement pour les formes courtes. Ce serait formidable s'il y aurait une liste avec tout les noms en anglais.
En outre, je veux donner la liste un autre format pour l'affichage, mais comment dois-je faire? J'utilise cette méthode à partir de l'android doc atm:
Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,R.array.planets_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
Mais je ne vois pas comment je pourrais modifier l'élément de la liste de contenu.
Pourriez-vous m'aider?
Qu'entendez-vous par
La façon dont je le fais maintenant, mon spinner affiche les données comme il est écrit dans l'article, de sorte '49,DE" pour l'exemple. Mais je veux le faire comme l'Allemagne (+49) " ou quelque chose comme ça
mapsofworld.com/world-maps/country-dialing-code.html a une liste des pays avec codes. Prendre des données à partir de là, et l'insérer dans votre tableau de chaînes.
I want to give the list another format for displaying
? quel autre format que vous voulez?La façon dont je le fais maintenant, mon spinner affiche les données comme il est écrit dans l'article, de sorte '49,DE" pour l'exemple. Mais je veux le faire comme l'Allemagne (+49) " ou quelque chose comme ça
mapsofworld.com/world-maps/country-dialing-code.html a une liste des pays avec codes. Prendre des données à partir de là, et l'insérer dans votre tableau de chaînes.
OriginalL'auteur Froxx | 2014-01-29
Vous devez vous connecter pour publier un commentaire.
J'ai une solution de nettoyage pour vous. Vous pouvez utiliser Code de pays de Sélecteur (CCP) bibliothèque directement.Il vous permettra d'économiser de code réutilisable. Vous avez juste besoin de placer la CountryCodePicker vue de la mise en page XML. C'est CCP vue .
Votre point de vue avec votre téléphone editText.
Télécharger des exemples d'application de PlayStore.
Cliquant sur CCP va ouvrir une boîte de dialogue avec une liste de pays pour sélectionner à partir. Ici vous pouvez effectuer des recherches avec le nom de pays, nom de code de code de téléphone. Il donne également une option de mise en forme automatique du numéro de téléphone.
Pays sélectionné détails peuvent être lus facilement. Pour plus de détails, allez à De la bibliothèque de la page Github.
Spinner
a souligné queEditText
et les deux sont de même niveau, compte tenu deEditText
à l'intérieur d'unTextInputLayout
?pouvez-vous préciser la question?
case à ma question s'il vous plaît ici: TextInputLayout Alighment Problème avec Spinner
J'ai posté la réponse. Laissez-moi savoir si cela a fonctionné pour vous. (Sur ce thread uniquement)
cela ne fonctionne pas avec dépendances version 26+
OriginalL'auteur HBB20
OriginalL'auteur TOUSIF AHAMMAD
Ce sont La norme ISO 3166-1 alpha-2 codes. Vous pouvez trouver une liste complète sur le site web de l'ISO.
Exécutant le code suivant dans la console JavaScript (testé à l'aide de Chrome) vous donne une carte à partir de codes de pays dans le format JSON:
vous pouvez obtenir ces Codes dans Fichier CSV et de le lire depuis un fichier CSV
Ok, j'ai été en mesure de créer une chaîne de tableau comme je le voulais dans ma string.xml - Grâce. Mais il y a encore de la seconde question: Comment puis-je changer le format d'affichage? J'ai déjà fait le tableau de l'adaptateur d'obtenir ses données à partir d'un tableau de chaîne de ma classe au lieu de celui dans le fichier xml, mais comment puis-je importer les données?
Bon, je l'ai eu par moi-même après un certain temps.
String[] array = getResources().getStringArray(R.array.countryCodes);
fait. Maintenant, j'ai un tableau dans ma classe, je peux le modifier.OriginalL'auteur sjy