1。服务器传过来拼音,设置adapter时根据判断设置标题栏为讨论组,未读,A......Z
2.布局2是一个ListView,LetterListView的自定义控件
3。建一个拼音类public class PinYin {
//汉字返回拼音,字母原样返回,都转换为小写
public static String getPinYin(String input) {
ArrayList<Token> tokens = HanziToPinyin.getInstance().get(input);
StringBuilder sb = new StringBuilder();
if (tokens != null && tokens.size() > 0) {
for (Token token : tokens) {
if (Token.PINYIN == token.type) {
sb.append(token.target);
} else {
sb.append(token.source);
}
}
}
return sb.toString().toLowerCase();
}
}
4。安卓自带的HanziToPinyin类
5。检索方法,利用listView的setSelection方法指向具体位置: public static int binSearch(ArrayList<Pms.Pm> list, String s) {
if(list==null)
return -1;
for (int i = 0; i < list.size(); i++) {
if(list.get(i).getUser_name_pin()!=null){
if(list.get(i).getUser_name_pin()!=null&&!list.get(i).getUser_name_pin().equals("")){
if (s.equalsIgnoreCase(list.get(i).getUser_name_pin().substring(0, 1))) { // 不区分大小写
return i;}
}
}
}
return -1;
}
浙公网安备 33010602011771号