2012-04-01 2 views
0

여러 개의 항목으로 구성된 다중 선택 목록보기가 있습니다. 사용자는 항목을 선택하여 항목 중 일부를 선택해야합니다. 또한이 ListView에 검색 탭이 있습니다. 사용자가 무언가를 검색하기 시작하면 원래 ListView에서 이전에 선택된 항목이 사라집니다. 내가 무엇을 검색 할 때, 체크 된 항목의 상태를 저장하려면 어떻게해야합니까?객관식 목록보기 (검색된 항목의 상태를 유지하는 방법)로 검색

답변

1

custoAdapter를 사용하는 경우 선택 여부에 관계없이 각 행에 플래그를 유지하십시오. getView() 메소드에서 해당 플래그 변수를 선택하면 새 검색 목록에서 seaarch 결과와 이전에 선택한 항목을 표시 할 수 있습니다.

+0

응답 해 주셔서 감사합니다. 나는 안드로이드에서 아주 새롭다. 변수 플래그는 어떻게 설정합니까? –

0

변수를 저장할 SharedPreferences를 사용할 수 있습니다. 그것을 보내십시오. 또한 세션 전체에서 지속됩니다. 보다 간단한 임시 솔루션을 원할 경우 체크 된 각 항목에 대해 필드 부울 변수를 만들면됩니다. 사용자가 항목을 체크 아웃하면 onCheckedListener에서 다음을 수행합니다.

isItem1Checked = item1.isChecked(); 

각 항목에 대해 상태를 저장하려면이 작업을 수행하십시오. 그런 다음 각 항목에 대해이 실행 목록을로드 할 때 : 당신이 된 SharedPreferences 파일에서에 잡아 저장할 필요가 제외

item1.setChecked(isItem1Checked); 

이 된 SharedPreferences를 사용하려는 경우, 그것은 유사.

공유 환경 설정에 대한 자세한 내용은 http://developer.android.com/guide/topics/data/data-storage.html#pref

+0

공유 환경 설정을 사용하는 경우 10000 개의 항목 목록이 있고 모두 공유 환경 설정에서 10000 값이 저장되어 있어야이 항목이 좋지 않을 수 있다고 가정하면 메모리 문제가 발생할 수 있습니다. – Ishu

관련 문제