首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

通讯录ListView搜寻的一些技巧

2013-04-02 
通讯录ListView搜索的一些技巧1.汉字转换位汉语拼音,英文字符不变/** * 汉字转换位汉语拼音,英文字符不变

通讯录ListView搜索的一些技巧
1.汉字转换位汉语拼音,英文字符不变

/** * 汉字转换位汉语拼音,英文字符不变 *  * @param chines *            汉字 * @return 拼音 */public static String ChineseToSpell(String chines) {String pinyinName = "";char[] nameChar = chines.toCharArray();HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);for (int i = 0; i < nameChar.length; i++) {if (nameChar[i] > 128) {try {pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0];} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();}} else {pinyinName += nameChar[i];}}return pinyinName;}


2.如果输入的是英文字符搜索listview

/** * 根据输入的首字母判断 *  * @param edit *            输入的字符 * @param list *            用户的名字 * @return */public boolean SearchForSpell(String edit, String list) {int index = edit.length();String string = "";if (index > list.length()) {return false;} else {for (int i = 0; i < index; i++) {string += (ChineseToSpell(list.substring(i, i + 1).toString())).substring(0, 1);}if (edit.equals(string)) {return true;}if (edit.equals(string.toUpperCase())) {return true;}}return false;}


 

3.如果输入中文汉字搜索

/** * 根据输入的汉字母判断 *  * @param edit *            输入的字符 * @param list *            用户的名字 * @return */public boolean SerachForChinese(String edit, String list) {int index = edit.length();String string = "";if (index > list.length()) {return false;} else {string = list.substring(0, index);if (edit.equals(string)) {return true;}}return false;}


 

4.listviw中文英文的排序

/** * list集合根据汉字排序 *  * @param list * @return */public ArrayList<Map<String, String>> sortToList(ArrayList<Map<String, String>> list) {ArrayList<Map<String, String>> sortList = new ArrayList<Map<String, String>>();String str[] = new String[list.size()];for (int i = 0; i < str.length; i++) {str[i] = list.get(i).get("usernickname");}Comparator cmp = Collator.getInstance(java.util.Locale.CHINA);Arrays.sort(str, cmp);for (int i = 0; i < str.length; i++) {for (int j = 0; j < str.length; j++) {// sortList.add(str[i]);if (str[i].equals(list.get(j).get("usernickname"))) {sortList.add(list.get(j));}}}return sortList;}


 

5.获取字符串里面的拼音

public StringBuffer getSpell(String string) {StringBuffer result = new StringBuffer();for (int i = 0; i < string.length(); i++) {char a = string.charAt(i);if ((((int) a) >= 65 && ((int) a) <= 90)|| (((int) a) >= 97 && ((int) a) <= 122)) {result.append(a);}}return result;}


 

热点排行