2012-11-09 4 views
0

데이터베이스에서 모든 멤버 데이터를 검색하고 목록보기에 표시하려고하는데 작동 할 수 있습니다.목록보기에서 데이터를 새로 고침 할 수 없습니다.

이제 특정 회원을 검색하려고하는데 (logcat에 기록 된) 레코드를 검색 할 수는 있지만 그에 따라 목록보기가 새로 고쳐지지 않습니다.

검색된 레코드를 검색하는 데 사용한 목록보기 코드입니다.

  SimpleAdapter simpleAdapter = new SimpleAdapter(Search.this, productsList, R.layout.list_item, new String[] {TAG_COMPANY}, 
        new int[] { R.id.name}); 
      lv = (ListView) findViewById(R.id.lst_name); 
      lv.setAdapter(simpleAdapter); 
+0

adapter.notifyDataSetChanged : 어떤 이유로 작동하지 않은 경우

simpleAdapter.notifyDataSetChanged(); 

, 당신은 또한 당신의 ListView의 어댑터를 재 할당 할 수 있습니다 : 변화에 대한 ListView을 알리려면, 당신은 호출 할 필요가); 검색 후 시도하십시오. – Raghunandan

+0

place "adapter.notifyDataSetChanged();" 내 검색 후 위의 코드를 사용하여 검색하십시오. 또는 .. – Jolene

+0

편집 문구가 있고 목록보기를 검색 하시겠습니까 ?? 그런 경우 맞춤 필터를 사용하십시오. 아래 답변이 도움이 될 것입니다. 또한이 링크를보십시오 http://stackoverflow.com/questions/13090046/how-to-implement-search-in-customlistview-based-on-class-item-of-pojo-class-in-a. 그러나 adapter.notifyDataSetChanged(); listview를 새로 고치는 데 사용됩니다. – Raghunandan

답변

0

는이 때문이다. ListView에 데이터 변경이 발생했음을 알릴 필요가 있습니다. (

simpleAdapter = new SimpleAdapter(...); 
lv.setAdapter(yourAdapter); 
simpleAdapter.notifyDataSetChanged(); 
0

다음 링크를 확인하십시오. 일반적으로 앞으로 나올 것입니다. Textwatcher를 만들고 변경된 텍스트에 어댑터를 바인딩하십시오. 또는 필터링 가능한 인터페이스를 구현하고 android : textFilterEnabled가 true라고 말할 수 있습니다.

link 1

link 2

관련 문제