Я хотел бы отобразить счетчик в андроиде, в котором пользователь выберет страну? Я знаю, как сделать spinner, но мне интересно, какая часть страны. Есть ли какой-то предопределенный список где-то в android (или lib) помимо того факта, что я должен вводить их вручную?
Спасибо
Попробуйте перечислить все страны:
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);
}
ArrayAdapter<String> countryAdapter = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_spinner_item, countries);
countryAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the your spinner
yourcountrySpinnerobj.setAdapter(countryAdapter);
или
Используйте клиентские библиотеки Geonames
или
Использование geonames webservice
сначала создайте свою учетную запись на Geonames, а затем используйте это имя пользователя
Хотя вопрос задан раньше, и принятый ответ работает хорошо. Я хотел бы ответить на подчасти вопроса, который запрашивает библиотеку.
CCP library позволяет легко справиться с этой задачей вместе с флагом страны.. Это позволяет сделать что-то вроде этого действительно легко.
И дает мощную функцию поиска для выбора: