我已经从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.orgbase64命令可以解决问题)

关于android - 来自github的android countryPicker,将国家/地区带到顶部,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27628642/

10-12 01:56