多音字
Opened this issue · 8 comments
zhixingren commented
能识别常州市,不能识别长沙市,长春市,还有其他个别的也是这样!大神 ,应该怎么改呀,谢谢~
codingWhenever commented
遇到同样的问题,还是tinypinyin库的问题吧,现在依赖远程库,不能改源码啊。
fengjuan commented
遇到同样问题,厦门对于字母应该是- X,但是对应到了S
SmallYQ commented
可以在特殊的城市前面加上一个谐音字,如长沙,写成常长沙,在显示的时候进行判断把常去掉就好了
startong commented
现在重庆市对应到Z,应该对应到C的啊,怎么处理呢
IphoneWeChat commented
要修改IndexBar源码,将源码的 Pinyin 依赖升级,还要添加 Pinyin 的两个依赖,最后修改 IndexBarDataHelperImpl 这个类 convert方法里面的 Pinyin.toPinyin
Munccccc commented
@Override
public IIndexBarDataHelper convert(List<? extends BaseIndexPinyinBean> datas, Context context) {
if (null == datas || datas.isEmpty()) {
return this;
}
int size = datas.size();
for (int i = 0; i < size; i++) {
BaseIndexPinyinBean indexPinyinBean = datas.get(i);
StringBuilder pySb = new StringBuilder();
//add by zhangxutong 2016 11 10 如果不是top 才转拼音,否则不用转了
if (indexPinyinBean.isNeedToPinyin()) {
String target = indexPinyinBean.getTarget();//取出需要被拼音化的字段
//遍历target的每个char得到它的全拼音
for (int i1 = 0; i1 < target.length(); i1++) {
//利用TinyPinyin将char转成拼音
//查看源码,方法内 如果char为汉字,则返回大写拼音
//如果c不是汉字,则返回String.valueOf(c)
pySb.append(Pinyin.toPinyin(target.charAt(i1)).toUpperCase());
}
if (pySb.toString().equals("ZHONGQING")) {
indexPinyinBean.setBaseIndexPinyin("CHONGQING");//修改重庆
} else if (pySb.toString().equals("ZHANGCHUN")) {
indexPinyinBean.setBaseIndexPinyin("CHANGCHUN");//修改长春
} else {
indexPinyinBean.setBaseIndexPinyin(pySb.toString());//设置城市名全拼音
}
} else {
//pySb.append(indexPinyinBean.getBaseIndexPinyin());
}
}
return this;
}
修改之前确认错误的多音是什么再进行修改
IphoneWeChat commented
非常感谢你!
| |
eclipseandroid
|
|
eclipseandroid@163.com
|
签名由网易邮箱大师定制
在2019年6月18日 17:24,Z<notifications@github.com> 写道:
@OverRide
public IIndexBarDataHelper convert(List<? extends BaseIndexPinyinBean> datas, Context context) {
if (null == datas || datas.isEmpty()) {
return this;
}
int size = datas.size();
for (int i = 0; i < size; i++) {
BaseIndexPinyinBean indexPinyinBean = datas.get(i);
StringBuilder pySb = new StringBuilder();
if (pySb.toString().contains("ZHONGQING")) {
pySb.toString().replace("ZHONGQING", "CHONGQING");
}
//add by zhangxutong 2016 11 10 如果不是top 才转拼音,否则不用转了
if (indexPinyinBean.isNeedToPinyin()) {
String target = indexPinyinBean.getTarget();//取出需要被拼音化的字段
//遍历target的每个char得到它的全拼音
for (int i1 = 0; i1 < target.length(); i1++) {
//利用TinyPinyin将char转成拼音
//查看源码,方法内 如果char为汉字,则返回大写拼音
//如果c不是汉字,则返回String.valueOf(c)
pySb.append(Pinyin.toPinyin(target.charAt(i1)).toUpperCase());
}
if (pySb.toString().equals("ZHONGQING")) {
indexPinyinBean.setBaseIndexPinyin("CHONGQING");//修改重庆
} else if (pySb.toString().equals("ZHANGCHUN")) {
indexPinyinBean.setBaseIndexPinyin("CHANGCHUN");//修改长春
} else {
indexPinyinBean.setBaseIndexPinyin(pySb.toString());//设置城市名全拼音
}
} else {
//pySb.append(indexPinyinBean.getBaseIndexPinyin());
}
}
return this;
}
修改之前确认错误的多音是什么再进行修改
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.
JanusKun commented
你们是把引用库拿出来到本地改源码处理这个问题的吗?