2011-12-28 2 views
0

나는 SO 솔루션을 참조하면서 하루 종일 목록보기를 필터링하려고했지만 할 수 없습니다. 따라서 나는 아래에있는 코드를 참조하여 정확히 무엇을하고 있는지 알기 위해 붙여 넣습니다. 제발 저를 도와주세요. 제 코드를 수정하거나 실수를 지적하십시오. 목록이 필터링되지 않습니다. 미리 감사드립니다텍스트의 목록보기를 정렬하는 방법 android

답변

1

문제는 publishResults 방법에있는 것 같습니다. performFiltering에서 얻은 결과는 어레이 어댑터 내부의 객체 목록에 적용되지 않습니다. 이렇게하는 쉬운 방법은 필터링 된 항목으로 새 ArrayAdapter을 만들고 목록보기를 업데이트하는 것입니다.

배열 목록의 기본 동작은 접두사를 필터링하는 것입니다. 괜찮 으면 목록보기에서 setFilterText으로 전화를 걸어 필터링 할 텍스트를 직접 필터링하지 않아도됩니다.

또한 측면에서는 Filter newFilter = null;을 메서드 외부로 옮길 수 있습니다. 그렇지 않으면 매번 필터가 생성됩니다. 동일한 문자열 값을 가져야하는 텍스트 워처의 텍스트로 필터를 호출하기 때문에 메서드 내에서 etsearch 내용의 제약 조건을 설정하지 않아도됩니다.

+0

답장을 보내 주셔서 감사합니다. 코드 ...를 도와주세요. 코드 pls를 편집하십시오. – cavallo

+0

아직 귀하의 게시물을 수정할 수있는 권한이 없습니다. 또한 수정하기에 충분한 코드를 게시하지 않았습니다. 'Contacts'의 목록을 필터링하고 있지만 목록보기는'DeviceContacts'의 목록을 보여줍니다. 하위 클래스입니까? 'contactarray'를'Contacts'의 목록으로 변경하면'notifyDataSetChanged'를'contactarray = new ArrayList (Collection ) results.values); bindList();'로 대체 할 수 있습니다. – Chase

관련 문제