来自github的android countryPicker,将国家排在首位

时间:2014-12-23 22:00:10

标签: android country-codes

我已经从github成功实现了AndroidCountryPicker开源项目。这一个:https://github.com/roomorama/AndroidCountryPicker。现在我想把美国,香港和加拿大列为首位。因此用户不必经常搜索,而这些将是最常用的。任何人都知道如何做到这一点。

由于

1 个答案:

答案 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.orgbase64命令就可以了)#/ p>