我已经从github成功实现了AndroidCountryPicker开源项目。这个:https://github.com/roomorama/AndroidCountryPicker。现在,我想将美国,香港和加拿大列为第一名。因此,用户不必经常搜索,而搜索将是最常用的。任何人都知道这将是可能的。
谢谢
最佳答案
我认为您将需要更改库代码以实现该目标。负责加载和分类国家/地区的代码为this (at 23 Dec 14)。
您可以忽略这三个国家/地区,然后在对数组进行排序后添加它们(假设您希望所有其他国家/地区都显示有序):
Country US, HK, CA;
US = HK = CA = null;
while (keys.hasNext()) {
String key = (String) keys.next();
Country country = new Country();
country.setCode(key);
country.setName(jsonObject.getString(key));
switch(key) {
case "US": US = country; break;
case "HK": HK = country; break;
case "CA": CA = country; break;
default: allCountriesList.add(country);
}
}
Collections.sort(allCountriesList, this);
allCountriesList.add(0, CA);
allCountriesList.add(0, HK);
allCountriesList.add(0, US);
如果您使用的是Java 6或更早版本,则需要用if / else替换开关。
编辑:如果有人要更改国家/地区数据,则将其存储在
res/values/strings_countries.xml
中的大JSON字符串(以base64编码)中。因此,需要对其进行解码,更改和重新编码(例如base64decode.org或base64
命令可以解决问题)关于android - 来自github的android countryPicker,将国家/地区带到顶部,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27628642/