ArrayList<String>를 사용해서 리스트를 뿌려주는것을 만들었는데요
remove 로 지운다음에
다시 add해서 자료를 지웠다가 넣었다가 하고 있습니다.
notifyDataSetChanged로 리스트에서 검색기능을 넣어서 쓰고 있는데
한글자 입력할때마다 재 검색을 하는데 좀 느립니다...
더 빠르게 할순 없을까요???
밑에 소스처럼 사용하고 있습니다.
참고로 리스트에 400개정도가 들어가 있습니다.
if(listcount>0){
for(int i = 0;i<title.length; i++){
listString.remove(page[i]);
listString2.remove(title[i]);
listString3.remove(words[i].replace(":","\n"));
listString4.remove(index[i]);
}
for(int i = 0;i<title.length; i++){
if(SoundSearcher.matchString(page[i],edittext.getText().toString())&&botton_tab==1)
listString(i);
else if(SoundSearcher.matchString(title[i],edittext.getText().toString())&&botton_tab==2)
listString(i);
else if(SoundSearcher.matchString(words[i],edittext.getText().toString())&&botton_tab==3)
listString(i);
}
}
musicList.notifyDataSetChanged();
mListView.setSelection(0);
private void listString(int i){
listString.add(page[i]);
listString2.add(title[i]);
listString3.add(words[i].replace(":","\n"));
listString4.add(index[i]);
}
Adapter 클래스를 별도로 만드시고 filterable을 implements하셔서 Filter메소드를 작성하세요
예시는... 전 커스텀 클래스를 써서 좀 다르네요.. 검색 ㄱㄱ