1.(联系人详情界面的修改)
文件:PostalSplitter.java (packages\providers\contactsprovider\src\com\android\providers\contacts)
函数:public String join(Postal postal)
有如下语句:
if (mLocale != null &&
JAPANESE_LANGUAGE.equals(mLocale.getLanguage()) &&
!arePrintableAsciiOnly(values)) {
return joinJaJp(postal);
} else {
return joinEnUs(postal);
}
joinEnUs(postal)就是从小到大的显示顺序,joinJaJp(postal)则是从大到校的显示顺序,
注释掉上述语句,直接使用return joinJaJp(postal);可以使得任何语言下返回从大到小的显示格式,
也可以仿照 JAPANESE_LANGUAGE.equals(mLocale.getLanguage()) 加入类似的系统语言判断条件。
2.(联系人编辑界面的修改)
在如下三支文件:
Before KK1
BaseAccountType.java (packages\apps\contacts\src\com\android\contacts\model\account)
ExchangeAccountType.java (packages\apps\contacts\src\com\android\contacts\model\account)
LocalPhoneAccountType.java (packages\apps\contacts\src\com\mediatek\contacts\model)
After KK1
BaseAccountType.java (packages\apps\contactscommon\src\com\android\contacts\common\model\account)
ExchangeAccountType.java (packages\apps\contactscommon\src\com\android\contacts\common\model\account)
LocalPhoneAccountType.java (packages\apps\contactscommon\src\com\mediatek\contacts\model)
中均有addDataKindStructuredPostal函数,其中如下语句就是在设置街道省市:
if (useJapaneseOrder) {
.... //从大到小
} else {
.... //从小到大
}
useJapaneseOrder则是: Locale.JAPANESE.getLanguage().equsals(Locale.getDefault().getLanguage());
同样的,直接将useJapaneseOrder置为true,可以使得任何语言下返回从大到小的显示格式,
也可以仿照 Locale.JAPANESE.getLanguage().equsals(Locale.getDefault().getLanguage());加入类似的系统语言判断条件
如何设置联系人地址从大到小显示(按照省、市、街道)
原文:http://blog.csdn.net/sergeycao/article/details/39395281