2013-09-29 4 views
1

목록보기를 사용하여 사용자 지정 대화 상자의 데이터를 채 웁니다. 목록에 어댑터를 전달하고 있습니다. 목록에는 250 가지 항목이 있습니다.목록보기 중복 데이터

제가 가지고있는 문제는 어댑터의 getView 메소드가 7 번만 호출되고 데이터가 대화 상자에 표시된다는 것입니다. 대화 상자에는 먼저 250 개의 모든 행을 채우기 위해 7 개의 항목이 반복됩니다.

getView가 7 번만 호출되는 이유를 이해하지 못했습니다. 또한 대화 상자에서 한 번에 7 개 항목을 볼 수 있으며 다른 항목을 보려면 스크롤해야합니다. 내가 본 엘리먼트와 getView가 호출 될 횟수).

왜 그런가? 미리 감사드립니다.

+1

당신은 – yugidroid

+0

?은'ViewHolder' 패턴을 따르고 네, 홀더 – user2702700

+1

HUMM을 사용하고 있습니다 .. 이상한! 당신은 크기의 내용을 확인하기 위해 귀하의 응용 프로그램을 디버깅 한 귀하의 데이터 배열 크기, 또는 너무 (그냥 정말 배열 안쪽에 반복 날짜가 있는지 확인하려면)? – yugidroid

답변

1

예, 실제로 화면에 항목이 표시 될 때 getView이 호출됩니다. 스크롤 할 때 더 많은 항목이 표시되고 getView 번이 더 많이 호출됩니다.

+0

convertView가 null 인 경우에만 새 행을 생성합니다. 그렇지 않으면 동일한 행을 반환합니다. 내 대화 상자에서 데이터가 왜 중복되는지 이해할 수 없었습니다. – user2702700

+0

맞습니다. 그러나 정확하게 그 때 문제는 무엇입니까? – Szymon

+0

처음 7 개 항목이 모든 행에 대해 반복됩니다 (250) – user2702700

0

convertView가 null 인 경우에만 새 행을 생성합니다. 그렇지 않으면 동일한 행을 반환합니다. 데이터가 내 대화 "에서 중복되는 이유를 이해할 수 없었다

당신이 getView 메소드로부터 반환 때마다 각 항목의 데이터를 설정하려고 할 수 있습니다. convertView를 다시 사용, 당신의 데이터를 업데이트 할 필요가

convertView 바인드. 당신은 각 항목에 위젯을 저장 ViewHolder를 사용할 수 있습니다.