Java 从 android 操作系统中检索国家/地区列表
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/9760341/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Retrieve a list of countries from the android OS
提问by
I'm looking for a way to populate a spinner with a list of countries with their names. Can I retrieve it from the Android OS? Can someone please provide me an example?
我正在寻找一种方法来填充带有国家名称的国家列表的微调器。我可以从 Android 操作系统中检索它吗?有人可以给我一个例子吗?
回答by Andrew Thompson
You might get some idea from the Locale
class.
你可能会从Locale
课堂上得到一些想法。
Call getAvailableLocales()
then iterate the array & getDisplayCountry()
. If it is the first time you've seen that country name, add it to an expandable list (e.g. an ArrayList
instance).
调用getAvailableLocales()
然后迭代数组 & getDisplayCountry()
。如果这是您第一次看到该国家/地区名称,请将其添加到可扩展列表(例如ArrayList
实例)中。
E.G.
例如
In Java, but the 3 classes from java.util
are all available in Android.
在 Java 中,但 3 个类java.util
在 Android 中都可用。
import java.util.*;
class Countries {
public static void main(String[] args) {
Locale[] locales = Locale.getAvailableLocales();
ArrayList<String> countries = new ArrayList<String>();
for (Locale locale : locales) {
String country = locale.getDisplayCountry();
if (country.trim().length()>0 && !countries.contains(country)) {
countries.add(country);
}
}
Collections.sort(countries);
for (String country : countries) {
System.out.println(country);
}
System.out.println( "# countries found: " + countries.size());
}
}
Output on this desktop PC
在这台台式电脑上输出
Albania
Algeria
Argentina
Australia
..
Venezuela
Vietnam
Yemen
# countries found: 95
Press any key to continue . . .
回答by thomasdao
I created a library (https://github.com/roomorama/AndroidCountryPicker) that display all countries and allow user to select the country. You can embed it in your own activity or show it as dialog.
我创建了一个库(https://github.com/roomorama/AndroidCountryPicker),显示所有国家并允许用户选择国家。您可以将其嵌入到您自己的活动中或将其显示为对话框。
回答by Ilan Klinghofer
You can use Locale.getISOCountries()to get a list of all of the two letter country codes. From the two letter country code you can construct a Locale object and then use Locale.getDisplayName()to get the country name.
您可以使用Locale.getISOCountries()获取所有两个字母的国家/地区代码的列表。从两个字母的国家/地区代码中,您可以构造一个 Locale 对象,然后使用Locale.getDisplayName()获取国家/地区名称。
String[] isoCountryCodes = Locale.getISOCountries();
for (String countryCode : isoCountryCodes) {
Locale locale = new Locale("", countryCode);
String countryName = locale.getDisplayCountry();
}
Running Android 4.3 on a Galaxy Note 3, getISOCountries() returns 246 country codes, which is pretty close to the 249 officially assigned ISO country codes as of today (11/24/14).
在 Galaxy Note 3 上运行 Android 4.3,getISOCountries() 返回 246 个国家/地区代码,这与截至今天(2014 年 11 月 24 日)官方分配的 249 个 ISO 国家/地区代码非常接近。
Calling getAvailableLocales() only returns the device's installed locales which most likely will have far fewer distinct countries.
调用 getAvailableLocales() 仅返回设备的已安装区域设置,这些区域设置很可能具有更少的不同国家/地区。
回答by pathe.kiran
Use geonames webservices :
使用 geonames 网络服务:
- To get list of countries
- 获取国家列表
http://api.geonames.org/countryInfoJSON?username=demo
http://api.geonames.org/countryInfoJSON?username=demo
Note : change username -> demo to your_username
注意:将 username -> demo 更改为 your_username
- To get list of states according to country (use geonameId of 1st webservice result)
- 根据国家/地区获取州列表(使用第一个网络服务结果的 geonameId)
exa. For country INDIA ,geonameId=1269750
前 对于国家印度,geonameId=1269750
http://api.geonames.org/childrenJSON?geonameId=1269750&username=demo
http://api.geonames.org/childrenJSON?geonameId=1269750&username=demo
- To get list of cities according to state (use geonameId of 2st webservice result)
- 根据州获取城市列表(使用第二个网络服务结果的 geonameId)
exa. For Maharashtra state, geonameId=1264418
例如。对于马哈拉施特拉邦,geonameId=1264418
http://api.geonames.org/childrenJSON?geonameId=1264418&username=demo
http://api.geonames.org/childrenJSON?geonameId=1264418&username=demo
回答by Ameen Maheen
i have created a class for this i hope it might come in help .
我为此创建了一个类,希望它可以有所帮助。
public class CountryDetails {
public static String[] country = new String[]{"Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra", "Angola", "Anguilla",
"Antarctica", "Antigua and Barbuda", "Argentina", "Armenia", "Aruba", "Australia", "Austria",
"Azerbaijan", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium",
"Belize", "Benin", "Bermuda", "Bhutan", "Bolivia", "Bosnia and Herzegovina", "Botswana",
"Brazil", "British Indian Ocean Territory", "British Virgin Islands", "Brunei", "Bulgaria",
"Burkina Faso", "Burma (Myanmar)", "Burundi", "Cambodia", "Cameroon", "Canada", "Cape Verde",
"Cayman Islands", "Central African Republic", "Chad", "Chile", "China", "Christmas Island",
"Cocos (Keeling) Islands", "Colombia", "Comoros", "Cook Islands", "Costa Rica",
"Croatia", "Cuba", "Cyprus", "Czech Republic", "Democratic Republic of the Congo",
"Denmark", "Djibouti", "Dominica", "Dominican Republic",
"Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea", "Estonia",
"Ethiopia", "Falkland Islands", "Faroe Islands", "Fiji", "Finland", "France", "French Polynesia",
"Gabon", "Gambia", "Gaza Strip", "Georgia", "Germany", "Ghana", "Gibraltar", "Greece",
"Greenland", "Grenada", "Guam", "Guatemala", "Guinea", "Guinea-Bissau", "Guyana",
"Haiti", "Holy See (Vatican City)", "Honduras", "Hong Kong", "Hungary", "Iceland", "India",
"Indonesia", "Iran", "Iraq", "Ireland", "Isle of Man", "Israel", "Italy", "Ivory Coast", "Jamaica",
"Japan", "Jersey", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Kosovo", "Kuwait",
"Kyrgyzstan", "Laos", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Liechtenstein",
"Lithuania", "Luxembourg", "Macau", "Macedonia", "Madagascar", "Malawi", "Malaysia",
"Maldives", "Mali", "Malta", "Marshall Islands", "Mauritania", "Mauritius", "Mayotte", "Mexico",
"Micronesia", "Moldova", "Monaco", "Mongolia", "Montenegro", "Montserrat", "Morocco",
"Mozambique", "Namibia", "Nauru", "Nepal", "Netherlands", "Netherlands Antilles", "New Caledonia",
"New Zealand", "Nicaragua", "Niger", "Nigeria", "Niue", "Norfolk Island", "North Korea",
"Northern Mariana Islands", "Norway", "Oman", "Pakistan", "Palau", "Panama",
"Papua New Guinea", "Paraguay", "Peru", "Philippines", "Pitcairn Islands", "Poland",
"Portugal", "Puerto Rico", "Qatar", "Republic of the Congo", "Romania", "Russia", "Rwanda",
"Saint Barthelemy", "Saint Helena", "Saint Kitts and Nevis", "Saint Lucia", "Saint Martin",
"Saint Pierre and Miquelon", "Saint Vincent and the Grenadines", "Samoa", "San Marino",
"Sao Tome and Principe", "Saudi Arabia", "Senegal", "Serbia", "Seychelles", "Sierra Leone",
"Singapore", "Slovakia", "Slovenia", "Solomon Islands", "Somalia", "South Africa", "South Korea",
"Spain", "Sri Lanka", "Sudan", "Suriname", "Swaziland", "Sweden", "Switzerland",
"Syria", "Taiwan", "Tajikistan", "Tanzania", "Thailand", "Timor-Leste", "Togo", "Tokelau",
"Tonga", "Trinidad and Tobago", "Tunisia", "Turkey", "Turkmenistan", "Turks and Caicos Islands",
"Tuvalu", "Uganda", "Ukraine", "United Arab Emirates", "United Kingdom", "United States", "Uruguay", "US Virgin Islands", "Uzbekistan", "Vanuatu", "Venezuela", "Vietnam",
"Wallis and Futuna", "West Bank", "Yemen", "Zambia", "Zimbabwe"};
public static String[] code = new String[]{"+93", "+355", "+213", "+1 684", "+376", "+244", "+1 264", "+672", "+1 268", "+54", "+374",
"+297", "+61", "+43", "+994", "+1 242", "+973", "+880", "+1 246", "+375", "+32", "+501",
"+229", "+1 441", "+975", "+591", "+387", "+267", "+55", "+246", "+1 284", "+673", "+359",
"+226", "+95", "+257", "+855", "+237", "+1", "+238", "+1 345", "+236", "+235", "+56", "+86",
"+61", "+891", "+57", "+269", "+682", "+506", "+385", "+53", "+357", "+420", "+243", "+45",
"+253", "+1 767", "+1 849", "+1 829", "+1 809", "+593", "+20", "+503", "+240", "+291", "+372",
"+251", "+500", "+298", "+679", "+358", "+33", "+689", "+241", "+220", "+970", "+995", "+49",
"+233", "+350", "+30", "+299", "+1 473", "+1 671", "+502", "+224", "+245", "+592", "+509",
"+379", "+504", "+852", "+36", "+354", "+91", "+62", "+98", "+964", "+353", "+44", "+972",
"+39", "+225", "+1 876", "+81", "+44", "+962", "+7", "+254", "+686", "+381", "+965", "+996",
"+856", "+371", "+961", "+266", "+231", "+218", "+423", "+370", "+352", "+853", "+389",
"+261", "+265", "+60", "+960", "+223", "+356", "+692", "+222", "+230", "+262", "+52", "+691",
"+373", "+377", "+976", "+382", "+1 664", "+212", "+258", "+264", "+674", "+977", "+31",
"+599", "+687", "+64", "+505", "+227", "+234", "+683", "+672", "+850", "+1 670", "+47",
"+968", "+92", "+680", "+507", "+675", "+595", "+51", "+63", "+870", "+48", "+351", "+1",
"+974", "+242", "+40", "+7", "+250", "+590", "+290", "+1 869", "+1 758", "+1 599", "+508",
"+1 784", "+685", "+378", "+239", "+966", "+221", "+381", "+248", "+232", "+65", "+421",
"+386", "+677", "+252", "+27", "+82", "+34", "+94", "+249", "+597", "+268", "+46", "+41",
"+963", "+886", "+992", "+255", "+66", "+670", "+228", "+690", "+676", "+1 868", "+216",
"+90", "+993", "+1 649", "+688", "+256", "+380", "+971", "+44", "+1", "+598", "+1 340",
"+998", "+678", "+58", "+84", "+681", "+970", "+967", "+260", "+263"};
public String[] getCountry() {
return country;
}
public String[] getCode() {
return code;
}
}
回答by Aditya Naique
Here's a string array of country names in xml.
这是 xml 中国家名称的字符串数组。
<string-array name="countries" formatted="false" translatable="false">
<item>Afghanistan</item>
<item>Albania</item>
<item>Algeria</item>
<item>American Samoa</item>
<item>Andorra</item>
<item>Angola</item>
<item>Antigua and Barbuda</item>
<item>Argentina</item>
<item>Armenia</item>
<item>Aruba</item>
<item>Australia</item>
<item>Austria</item>
<item>Azerbaijan</item>
<item>Bahamas</item>
<item>Bahrain</item>
<item>Bangladesh</item>
<item>Barbados</item>
<item>Belarus</item>
<item>Belgium</item>
<item>Belize</item>
<item>Benin</item>
<item>Bermuda</item>
<item>Bhutan</item>
<item>Bolivia</item>
<item>Bosnia and Herzegovina</item>
<item>Botswana</item>
<item>Brazil</item>
<item>British Virgin Islands</item>
<item>Brunei</item>
<item>Bulgaria</item>
<item>Burkina Faso</item>
<item>Burundi</item>
<item>Cambodia</item>
<item>Cameroon</item>
<item>Canada</item>
<item>Canary Islands</item>
<item>Cape Verde</item>
<item>Cayman Islands</item>
<item>Central African Republic</item>
<item>Ceuta and Melilla</item>
<item>Chad</item>
<item>Chile</item>
<item>China</item>
<item>Colombia</item>
<item>Comoros</item>
<item>Congo [DRC]</item>
<item>Congo [Republic]</item>
<item>Costa Rica</item>
<item>Croatia</item>
<item>Cuba</item>
<item>Cura?ao</item>
<item>Cyprus</item>
<item>Czech Republic</item>
<item>C?te d'Ivtheitroade</item>
<item>Denmark</item>
<item>Djibouti</item>
<item>Dominica</item>
<item>Dominican Republic</item>
<item>Ecuador</item>
<item>Egypt</item>
<item>El Salvador</item>
<item>Equatorial Guinea</item>
<item>Eritrea</item>
<item>Estonia</item>
<item>Ethiopia</item>
<item>Europe</item>
<item>Faroe Islands</item>
<item>Fiji</item>
<item>Finland</item>
<item>France</item>
<item>French Guiana</item>
<item>French Polynesia</item>
<item>Gabon</item>
<item>Gambia</item>
<item>Georgia</item>
<item>Germany</item>
<item>Ghana</item>
<item>Gibraltar</item>
<item>Greece</item>
<item>Greenland</item>
<item>Grenada</item>
<item>Guadeloupe</item>
<item>Guam</item>
<item>Guatemala</item>
<item>Guernsey</item>
<item>Guinea</item>
<item>Guinea-Bissau</item>
<item>Guyana</item>
<item>Haiti</item>
<item>Honduras</item>
<item>Hong Kong</item>
<item>Hungary</item>
<item>Iceland</item>
<item>India</item>
<item>Indonesia</item>
<item>Iran</item>
<item>Iraq</item>
<item>Ireland</item>
<item>Isle of Man</item>
<item>Israel</item>
<item>Italy</item>
<item>Jamaica</item>
<item>Japan</item>
<item>Jersey</item>
<item>Jordan</item>
<item>Kazakhstan</item>
<item>Kenya</item>
<item>Kiribati</item>
<item>Kuwait</item>
<item>Kyrgyzstan</item>
<item>Laos</item>
<item>Latin America</item>
<item>Latvia</item>
<item>Lebanon</item>
<item>Lesotho</item>
<item>Liberia</item>
<item>Libya</item>
<item>Liechtenstein</item>
<item>Lithuania</item>
<item>Luxembourg</item>
<item>Macau</item>
<item>Macedonia [FYROM]</item>
<item>Madagascar</item>
<item>Malawi</item>
<item>Malaysia</item>
<item>Mali</item>
<item>Malta</item>
<item>Marshall Islands</item>
<item>Martinique</item>
<item>Mauritania</item>
<item>Mauritius</item>
<item>Mayotte</item>
<item>Mexico</item>
<item>Micronesia</item>
<item>Moldova</item>
<item>Monaco</item>
<item>Mongolia</item>
<item>Montenegro</item>
<item>Morocco</item>
<item>Mozambique</item>
<item>Myanmar [Burma]</item>
<item>Namibia</item>
<item>Nepal</item>
<item>Netherlands</item>
<item>New Caledonia</item>
<item>New Zealand</item>
<item>Nicaragua</item>
<item>Niger</item>
<item>Nigeria</item>
<item>North Korea</item>
<item>Northern Mariana Islands</item>
<item>Norway</item>
<item>Oman</item>
<item>Pakistan</item>
<item>Palau</item>
<item>Palestine</item>
<item>Panama</item>
<item>Papua New Guinea</item>
<item>Paraguay</item>
<item>Peru</item>
<item>Philippines</item>
<item>Poland</item>
<item>Portugal</item>
<item>Puerto Rico</item>
<item>Qatar</item>
<item>Romania</item>
<item>Russia</item>
<item>Rwanda</item>
<item>Réunion</item>
<item>Saint Barthélemy</item>
<item>Saint Kitts and Nevis</item>
<item>Saint Lucia</item>
<item>Saint Martin</item>
<item>Saint Vincent and the Grenadines</item>
<item>Samoa</item>
<item>San Marino</item>
<item>Saudi Arabia</item>
<item>Senegal</item>
<item>Serbia</item>
<item>Seychelles</item>
<item>Sierra Leone</item>
<item>Singapore</item>
<item>Sint Maarten</item>
<item>Slovakia</item>
<item>Slovenia</item>
<item>Solomon Islands</item>
<item>Somalia</item>
<item>South Africa</item>
<item>South Korea</item>
<item>South Sudan</item>
<item>Spain</item>
<item>Sri Lanka</item>
<item>Sudan</item>
<item>Suriname</item>
<item>Swaziland</item>
<item>Sweden</item>
<item>Switzerland</item>
<item>Syria</item>
<item>S?o Tomé and Príncipe</item>
<item>Taiwan</item>
<item>Tanzania</item>
<item>Thailand</item>
<item>Timor-Leste</item>
<item>Togo</item>
<item>Tonga</item>
<item>Trinidad and Tobago</item>
<item>Tunisia</item>
<item>Turkey</item>
<item>Turks and Caicos Islands</item>
<item>U.S. Outlying Islands</item>
<item>U.S. Virgin Islands</item>
<item>Uganda</item>
<item>Ukraine</item>
<item>United Arab Emirates</item>
<item>United Kingdom</item>
<item>United States</item>
<item>Uruguay</item>
<item>Uzbekistan</item>
<item>Vanuatu</item>
<item>Venezuela</item>
<item>Vietnam</item>
<item>Western Sahara</item>
<item>Yemen</item>
<item>Zambia</item>
<item>Zimbabwe</item>
<item>?land Islands</item>
</string-array>
回答by Ravindra Kushwaha
There is some error in the @Ameen Maheensolution is that..According to the Country namewe are not getting the correct Country code...So I have corrected the list of the Countries and Countries code...There is around of 240countries in the world...So there is the solution :)
@Ameen Maheen解决方案中有一些错误是......根据国家名称,我们没有得到正确的国家代码......所以我更正了国家和国家代码的列表......大约有240世界上的国家......所以有解决方案:)
CountryDetails class:-
CountryDetails 类:-
public class CountryDetails {
public static String[] country = new String[]{
"Afghanistan",
"Albania",
"Algeria",
"American Samoa",
"Andorra",
"Angola",
"Anguilla",
"Antarctica",
"Antigua and Barbuda",
"Argentina",
"Armenia",
"Aruba",
"Australia",
"Austria",
"Azerbaijan",
"Bahamas",
"Bahrain",
"Bangladesh",
"Barbados",
"Belarus",
"Belgium",
"Belize",
"Benin",
"Bermuda",
"Bhutan",
"Bolivia",
"Bosnia and Herzegovina",
"Botswana",
"Brazil",
"British Indian Ocean Territory",
"British Virgin",
"Brunei",
"Bulgaria",
"Burkina Faso",
"Burundi",
"Cambodia",
"Cameroon ",
"Canada",
"Cape Verde",
"Cayman Islands",
"Central African Republic",
"Chad",
"Chile",
"China",
"Christmas Island",
"Cocos Islands",
"Colombia",
"Comoros",
"Cook Islands",
"Costa Rica",
"Croatia",
"Cuba ",
"Curacao",
"Cyprus ",
"Czech Republic",
"Democratic Republic of the Congo",
"Denmark ",
"Djibouti ",
"Dominica ",
"Dominican Republic",
"East Timor",
"Ecuador",
"Egypt ",
"El Salvador",
"Equatorial Guinea",
"Eritrea ",
"Estonia ",
"Ethiopia ",
"Falkland Islands ",
"Faroe Islands ",
"Fiji ",
"Finland ",
"France",
"French Polynesia",
"Gabon ",
"Gambia",
"Georgia ",
"Germany ",
"Ghana ",
"Gibraltar",
"Greece ",
"Greenland",
"Grenada ",
"Guam ",
"Guatemala",
"Guernsey ",
"Guinea ",
"Guinea-Bissau",
"Guyana",
"Haiti ",
"Honduras ",
"Hong Kong ",
"Hungary ",
"Iceland ",
"India ",
"Indonesia ",
"Iran ",
"Iraq ",
"Ireland ",
"Isle of Man ",
"Israel",
"Italy ",
"Ivory Coast",
"Jamaica ",
"Japan ",
"Jersey ",
"Jordan ",
"Kazakhstan",
"Kenya ",
"Kiribati",
"Kosovo",
"Kuwait ",
"Kyrgyzstan",
"Laos ",
"Latvia",
"Lebanon ",
"Lesotho ",
"Liberia ",
"Libya ",
"Liechtenstein",
"Lithuania",
"Luxembourg",
"Macau ",
"Macedonia",
"Madagascar",
"Malawi",
"Malaysia",
"Maldives ",
"Mali ",
"Malta ",
"Marshall Islands ",
"Mauritania",
"Mauritius ",
"Mayotte ",
"Mexico ",
"Micronesia",
"Moldova ",
"Monaco ",
"Mongolia",
"Montenegro",
"Montserrat",
"Morocco ",
"Mozambique",
"Myanmar ",
"Namibia ",
"Nauru ",
"Nepal ",
"Netherlands",
"Netherlands Antilles",
"New Caledonia ",
"New Zealand ",
"Nicaragua ",
"Niger ",
"Nigeria",
"Niue ",
"North Korea",
"Northern Mariana Islands",
"Norway ",
"Oman ",
"Pakistan",
"Palau ",
"Palestine",
"Panama ",
"Papua New Guinea",
"Paraguay ",
"Peru ",
"Philippines ",
"Pitcairn ",
"Poland ",
"Portugal",
"Puerto Rico",
"Qatar ",
"Republic of the Congo",
"Reunion ",
"Romania ",
"Russia",
"Rwanda ",
"Saint Barthelemy",
"Saint Helena",
"Saint Kitts and Nevis",
"Saint Lucia",
"Saint Martin",
"Saint Pierre and Miquelon",
"Saint Vincent and the Grenadines",
"Samoa ",
"San Marino",
"Sao Tome and Principe",
"Saudi Arabia ",
"Senegal ",
"Serbia ",
"Seychelles",
"Sierra Leone",
"Singapore",
"Sint Maarten",
"Slovakia",
"Slovenia",
"Solomon Islands",
"Somalia ",
"South Africa",
"South Korea ",
"South Sudan ",
"Spain ",
"Sri Lanka",
"Sudan ",
"Suriname",
"Svalbard and Jan Mayen ",
"Swaziland ",
"Sweden ",
"Switzerland",
"Syria ",
"Taiwan",
"Tajikistan",
"Tanzania ",
"Thailand ",
"Togo ",
"Tokelau ",
"Tonga ",
"Trinidad and Tobago ",
"Tunisia ",
"Turkey ",
"Turkmenistan",
"Turks and Caicos Islands",
"Tuvalu ",
"U.S. Virgin Islands",
"Uganda ",
"Ukraine ",
"United Arab Emirates",
"United Kingdom ",
"United States ",
"Uruguay ",
"Uzbekistan ",
"Vanuatu ",
"Vatican ",
"Venezuela ",
"Vietnam ",
"Wallis and Futuna",
"Western Sahara",
"Yemen ",
"Zambia",
"Zimbabwe"};
public static String[] code = new String[]{ "93",
"355",
"213",
"1-684",
"376",
"244",
"1-264",
"672",
"1-268",
"54",
"374",
"297",
"61",
"43",
"994",
"1-242",
"973",
"880",
"1-246",
"375",
"32",
"501",
"229",
" 1-441",
"975",
"591",
" 387",
"267",
"55",
"246",
"1-284",
"673",
"359",
"226",
"257",
" 855",
"237",
"1",
"238",
" 1-345",
"236",
"235",
" 56",
"86",
" 61",
"61",
"57",
"269",
"682",
" 506",
"385",
"53",
"599",
"357",
"420",
" 243",
" 45",
"253",
"1-767",
"1-809",
"670",
"593",
"20",
"503",
"240",
"291",
"372",
"251",
"500",
"298",
"679",
"358",
"33",
"689",
"241",
"220",
"995",
"49",
"233",
" 350",
"30",
"299",
"1-473",
"1-671",
"502",
"44-1481",
"224",
"245",
"592",
"509",
"504",
"852",
"36",
"354",
"91",
"62",
"98",
"964",
"353",
"44-1624",
"972",
"39",
"225",
"1-876",
"81",
"44-1534",
"962",
"7",
"254",
"686",
"383",
"965",
"996",
"856",
"371",
"961",
"266",
"231",
"218",
"423",
"370",
"352",
"853",
"389",
"261",
"265",
"60",
"960",
"223",
"356",
"692",
"222",
"230",
"262",
"52",
"691",
"373",
"377",
"976",
"382",
"1-664",
"212",
"258",
"95",
"264",
"674",
"977",
"31",
"599",
"687",
"64",
"505",
"227",
"234",
"683",
"850",
"1-670",
"47",
"968",
"92",
"680",
"970",
"507",
"675",
"595",
"51",
"63",
"64",
"48",
"351",
"1-787",
"974",
"242",
"262",
"40",
"7",
"250",
"590",
"290",
"1-869",
"1-758",
"590",
"508",
"1-784",
"685",
"378",
"239",
"966",
"221",
"381",
"248",
"232",
"65",
"1-721",
"421",
"386",
"677",
"252",
"27",
"82",
"211",
"34",
"94",
"249",
"597",
"47",
"268",
"46",
"41",
"963",
"886",
"992",
"255",
"66",
"228",
"690",
"676",
"1-868",
"216",
"90",
"993",
"1-649",
"688",
"1-340",
"256",
"380",
"971",
"44",
"1",
"598",
"998",
"678",
"379",
"58",
"84",
"681",
"212",
"967",
"260",
"263"
};
public static String[] getCountry() {
return country;
}
public static String[] getCode() {
return code;
}
}
And how to use these class is as follow:-
以及如何使用这些类如下:-
////GETTING THE COUNTRY AND CODE ARRAY ARE AS FOLLOW:-
ArrayList<String> codeArrayList = new ArrayList<String>(Arrays.asList(CountryDetails.getCode()));
ArrayList<String> countryArrayList = new ArrayList<String>(Arrays.asList(CountryDetails.getCountry()));
/////SETTING THE ADAPTER ACCORDING TO THE COUNTRY NAMES
ArrayAdapter<String> adapter = new ArrayAdapter<String>(SignUpScreen.this, android.R.layout.simple_list_item_1, countryArrayList);
YOUR_LIST_VIEW.setAdapter(adapter);///HERE YOUR_LIST_VIEW IS YOUR LISTVIEW NAME
YOUR_LIST_VIEW.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Toast.makeText(this,"COUNTRY NAME==>>"+countryArrayList.get(i),Toast.LENGTH_SHORT+" HERE IS THE COUNTY CODE==>>"+codeArrayList.get(i),Toast.LENGTH_SHORT).show();
}
});
回答by anoop4real
Here is a Kotlin function which will give you a sorted list
这是一个 Kotlin 函数,它会给你一个排序列表
var normalArray = arrayListOf<Country>()
fun preparedata() {
for (countryCode in Locale.getISOCountries()) {
val locale = Locale("",countryCode)
var countryName: String? = locale.displayCountry
if (countryName == null) {
countryName = "UnIdentified"
}
val simpleCountry = Country(countryName,countryCode)
normalArray.add(simpleCountry)
}
normalArray = ArrayList(normalArray.sortedWith(compareBy { it.countryName }))
}
Country is a data class
国家是一个数据类
data class Country(val countryName:String, val countryCode:String){
}
Here is a sample project which displays country list and its details.
这是一个显示国家/地区列表及其详细信息的示例项目。