ArrayList<Data>를 사용한다고 가정하고
Data클래스가
class Data{
String title;
String subTitle;
Data(String title, String subTitle){
this.title = title;
this.subTitle = subTitle;
}
}
이런식으로 구성되어있다고 가정하고 title을 기준으로 검색해보겠습니다.
원본과 originalList 검색결과 resultList 이렇게 두개의 ArrayList를 사용하고
검색 실행시
resultList = new ArrayList<Data>(); //검색결과 데이터 초기화
for(int i=0;i<originalList.size();i++){ //리스트 데이터 검색
Data getData = originalList.get(i);
if(getData.title.indexOf(searchKeyWord) > -1){ //해당 타이틀에 키워드가 검색된다면
resultList.add(getData); //해당 데이터를 검색결과에 추가
}
}
adapter = new Adapter([액티비티명].this, R.layout.[리스트 레이아웃 xml명], resultList); //아답터를 검색결과 리스트로 초기화
listView.setAdapter(adapter);
이렇게 검색결과 list로 adapter를 다시 세팅해주면 되겟네요.
원본리스트로 돌아가고 싶을경우
똑같이 아답터를 생성자의 인자를 originalList로 변경만 하면되겠죠?
이정도면 충분히 응용가능하실겁니다.