ListView가 있고 다음 코드를 사용하여 내 BaseAdapter의 getView() 프로세스를 확인합니다.ListView adapter getView() 잘못된 항목 가져 오기
내가 목록을 천천히 내려다 보면 나는 이상한 일이 있음을 발견했다. 목록 위치가 40-50ish인데도 getView()가 0-7 위치로 호출됩니다. 여기 내 로그 모습입니다 : 당신이 볼 수 있듯이 행 (45) 사이에,
05-14 11:46:13.989: I/getView()(18681): Fetching Row: 45
05-14 11:46:14.039: I/getView()(18681): Fetching Row: 0
05-14 11:46:14.049: I/getView()(18681): Fetching Row: 1
05-14 11:46:14.049: I/getView()(18681): Fetching Row: 2
05-14 11:46:14.049: I/getView()(18681): Fetching Row: 3
05-14 11:46:14.059: I/getView()(18681): Fetching Row: 4
05-14 11:46:14.059: I/getView()(18681): Fetching Row: 5
05-14 11:46:14.059: I/getView()(18681): Fetching Row: 6
05-14 11:46:14.069: I/getView()(18681): Fetching Row: 7
05-14 11:46:14.320: I/getView()(18681): Fetching Row: 46
05-14 11:46:14.430: I/getView()(18681): Fetching Row: 0
05-14 11:46:14.430: I/getView()(18681): Fetching Row: 1
05-14 11:46:14.430: I/getView()(18681): Fetching Row: 2
05-14 11:46:14.430: I/getView()(18681): Fetching Row: 3
05-14 11:46:14.430: I/getView()(18681): Fetching Row: 4
05-14 11:46:14.430: I/getView()(18681): Fetching Row: 5
05-14 11:46:14.430: I/getView()(18681): Fetching Row: 6
05-14 11:46:14.430: I/getView()(18681): Fetching Row: 7
및 46 행, 각 시간, 행 0-7 용)의 getView (라고. 이것은 모든 목록 항목에 대해 발생합니다. 이 문제가 성능 문제를 일으키는 것 같습니다.
왜 이런 일이 발생합니까? 그리고이 정상적인 행동입니까?
와우에 layout_height를 변경합니다. 해결책을 가져 주셔서 감사합니다! 왜 android : layout_height = "wrap_content"를 설정하면 목록보기가 그렇게하는 지 알 수 있습니까? – baekacaek
레이아웃이 wrap_content 때문에 매회 다시 계산됩니다. –
오 ~ 알았어. 다시 한 번 감사합니다 – baekacaek