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

리스트뷰 검색 후 클릭이벤트??

0 추천

 

  final ListView lv = getListView();

  lv.setTextFilterEnabled(true);

 

  lv.setOnItemClickListener(new OnItemClickListener() {

   public void onItemClick(AdapterView<?> parent, View view,

     int position, long id) {

    Toast.makeText(getApplicationContext(),

      ((TextView) view).getText(), Toast.LENGTH_SHORT).show();

   }

  });

 

  final EditText et = (EditText) findViewById(R.id.et);

  et.addTextChangedListener(new TextWatcher() {

   @Override

   public void onTextChanged(CharSequence s, int start, int before,

     int count) {

    lv.setFilterText(s.toString());

   }

   @Override

   public void afterTextChanged(Editable arg0) {

   }

   @Override

   public void beforeTextChanged(CharSequence s, int start, int count,

     int after) {

코드를 이런식으로 해서 리스트뷰에 검색기능을 달았습니다.

그런데 전체 목록이 case1:유재석 case2:박명수 case3:정형돈 등등등.... 무도 멤버들이라고 했을때요

"하" 라고 검색하면

정준하랑 하하가 나오는데...

정준하를 클릭하면 case1 유재석이 실행, 하하는 case2 가되어 버립니다.

어떻게하죠?

 

 

박순금 (330 포인트) 님이 2014년 1월 29일 질문

1개의 답변

0 추천
Adapter 내의 Filter 부분을 어떻게 처리하셨는지 모르겠는데요,

저 문제는 필터링 된 결과와 실제 리스트 뷰 내의 데이터의 차이에서 오는것이기 때문에

두 데이터를 맞추시면 될 것 같습니다.

(제 경우는 전체 리스트 데이터와 필터링 된 데이터를 따로 관리하였습니다.)
Naught (370 포인트) 님이 2014년 1월 29일 답변
...