안녕하세요, 안드로이드 앱 개발을 시작한 지 얼마 되지 않는 사람인데요...
이해가 안되는 오류가 발생을 해서 여쭙고자 합니다.
서버에 업로드 되어 있는 XML 파일로부터 데이터를 읽어와서 ListView로 보여주는 앱입니다.
앱은 LinearLayout 하위에 ListView로 구성되어 있고,
SaxReadXml을 사용해서 읽어오고 있습니다.
해당 리스트 항목을 터치하면 파일을 다운로드 받을 수 있도록 해 두었는데요...
리스트로 불러와서 데이터를 보여주는 데는 문제 없습니다.
터치해서 다운로드도 잘 되고요...
그런데, 문제는...
아래로 스크롤을 한 다음에 터치를 하면 오류가 발생하면서 앱이 종료가 됩니다.
도대체 이해가 되질 않아, 스크롤 할 때도 무슨 이벤트라도 발생을 하는데 그걸 처리를 안한 건지...
이런 오류를 경험하신 분이 혹시 있으시다면 해결책을 좀 공유해주셨으면 합니다.
그리고, 리스트뷰가 스크롤될 때... 발생하는 이벤트가 있나요?
친절하신 누군가의 시원한 답변 기다리겠습니다.
즐프하세요 :)
리스트뷰의 특정 아이템 아래 부분부터 터치 시 오류가 발생하길래 로크캣으로 리스트뷰의 아이템 카운트를 봤더니,
눈에 보이는 건 10개인데, listView.getChildCount()를 조회해 보니, 7이라는 값으로 나왔습니다.
실제로 인덱스 7인 부분부터 터치하면 오류가 발생하구요.
특정 리스트 항목을 선택해서 선택한 항목의 인덱스를 기준으로 처리를 하는데 인덱스가 없으니 오류가 나는 게 당연하긴 하더라구요.
그런데 이상한 게...
어떻게 눈에 보이는 항목이 10개인데, 리스트뷰가 갖고 있는 아이템 개수는 7개일 수가 있는 거죠?
아이참...
어렵네요...
선택 항목을 가져오는 방식이 잘못된 것인 지...
선택한 항목을 어떻게 가져와야 하는 걸까요?
ㅡ,.ㅡ




대략적인 코드와 오류 로그라도 첨부하셔야 시원한 답변이 나오겠죠 ㅎㅎ;
예상일 뿐이긴 합니다만, 스크롤후 터치시 문제가 있는 거라면
리스트 어댑터에서 getViw() 메소드 내부에 convertView에 잘못된 값이 세팅되고 있을것 같긴 한데 말이죠.