마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

확장리스트뷰 검색 예제아시는분 계세요?

0 추천
확장리스트뷰의 항목을 검색하는기능을 공부하고 싶은데 책에도 없고 검색해봐도

거의 리스트뷰에 관한거라서 질문드립니다

확장리스트뷰의 항목을 검색하는 기능에 대한 예제 알고 계신다면 주소좀적어주시면 감사하겠습니다
우히히 (120 포인트) 님이 2013년 2월 27일 질문

3개의 답변

0 추천
어떠한 검색을 원하시는 지는 모르겠으나.....

안나오는게 당연하다고 생각 합니다만.....

리스트뷰와 확장리스트뷰 모두 adapter를 쓰게 되구요....

adapter은 기본적으로 data를 기준으로 만들어 지게 되는데....

리스트뷰와 별반 다를게 없습니다....

그 예제를 가지고 응요 하시면 됩니다...

검색예제를 매번 복붙하시는 버릇 하시면 갇히게 됩니다...

생각을 조금만 열어 보세요...
ThisPlus (46,920 포인트) 님이 2013년 2월 27일 답변
0 추천
확장리스트라는것도 어차피 단순한 뷰일 뿐입니다.

그걸 리스트로 보여주는 것이죠.

 

그래서 검색을 하실때는 어차피 어댑터에 넣어주는 데이터를 갖고 직접 검색 기능을 추가하셔야합니다.
미친나무 (340 포인트) 님이 2013년 2월 27일 답변
0 추천

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로 변경만 하면되겠죠?

 

이정도면 충분히 응용가능하실겁니다.

 

 

 

얼룩돼지 (15,720 포인트) 님이 2013년 2월 27일 답변
...