各位大大,有没有遇到过标题所示的问题?
算法有现成:HanziToPinyin
但是根据这个算法之上的排序逻辑 全部需要新规各位大大有啥好的建议吗?

解决方案 »

  1.   

    我们有同事处理过类似的问题,解决办法如下:
    在将歌曲信息扫描到数据库的时候,增加一个字段用来存拼音的首字母。在MediaScanner中增加。
    显示的时候设置查到的order。
      

  2.   

    我之前有做过一个按拼音首字母排序的播放列表。
    在媒体库扫描这一块,加入一个字段“SZMPINGYIN”如果是英文就直接显示,但是要把所有的字母转换成大写,如果是汉字(简体),就转换成拼音,但是也全是大写字母,在listview里面显示的时候会查询数据库,按这个“SZMPINGYIN”字段排序就好了。
    这里面除了26个英文字母外还有一个#号,用来放所有不识别的特殊字符,比如数字,~ ! @ 《》等。这些在扫描的时候放在“SZMPINGYIN”字段中的通通加一个#,如123则为#123,其他类似。不可能找到一个所有语系的一个排序规则,你说到日文、哪还有韩语呢,阿拉伯语系呢,那些小蝌蚪你怎处理.....你的产品如果主要是国内用户的话我觉得英语和汉语拼音就够了。