728x90

http://link2me.tistory.com/1377 (Android SearchView) 에서 초성검색 기능을 추가했다.

지인에게 보여드렸더니 초성검색 기능도 제공되면 좋겠다고 해서 구글링으로 초성검색을 검색하여 추가해봤다.

http://milkissboy.tistory.com/32 에 나온 코드를 복사해서 Class 를 하나 추가했다.

그리고 http://link2me.tistory.com/1377 에서 수정한 부분만 여기에 기록해둔다.


HangulUtils.java


초성검색되는 코드는 위 참조한 블로그에 있는 것 중에서 main 메소드 부분만 제거하고 나머지는 그대로 이용


수정 코드

 초성검색 없는 코드

        // Filter Class
        public void filter(String charText) {
            charText = charText.toLowerCase(Locale.getDefault());
            lvItemList.clear();
            if (charText.length() == 0) {
                lvItemList.addAll(addressItemList);
            } else {
                for (Address_Item wp : addressItemList) {
                    if (wp.getUserNM().toLowerCase(Locale.getDefault()).contains(charText)) {
                        lvItemList.add(wp);
                    }
                }
            }
            notifyDataSetChanged();
        }

초성검색 추가 코드

        // Filter Class
        public void filter(String charText) {
            charText = charText.toLowerCase(Locale.getDefault());
            lvItemList.clear();
            if (charText.length() == 0) {
                lvItemList.addAll(addressItemList);
            } else {
                for (Address_Item wp : addressItemList) {
                    String iniName = HangulUtils.getHangulInitialSound(wp.getUserNM(), charText);
                    if (iniName.indexOf(charText) >= 0) { // 초성검색어가 있으면 해당 데이터 리스트에 추가
                        lvItemList.add(wp);
                    } else if (wp.getUserNM().toLowerCase(Locale.getDefault()).contains(charText)) {
                        lvItemList.add(wp);
                    }
                }
            }
            notifyDataSetChanged();
        } 


초성검색어 : ㄱㅂ, ㅇㅈ민, 이ㅈㅇ 등 검색어로 이용 가능


블로그 이미지

Link2Me

,