我已经从github成功实现了AndroidCountryPicker开源项目。这一个:https://github.com/roomorama/AndroidCountryPicker。现在我想把美国,香港和加拿大列为首位。因此用户不必经常搜索,而这些将是最常用的。任何人都知道如何做到这一点。
由于
答案 0 :(得分:1)
我认为您需要更改库代码才能实现这一目标。负责加载和排序国家/地区的代码是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's替换开关。
编辑:如果有人想要更改国家/地区数据,则会将其存储在res/values/strings_countries.xml
中的大型JSON字符串(以base64编码)中。所以需要进行解码,更改然后再次编码(类似base64decode.org或base64
命令就可以了)#/ p>