마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

넥서스7 태블릿과 스마트폰 ListView getID 값 차이

0 추천
ListView Checkbox에 체크된 체크된 position 값을 얻어오는 문제인데요

앱 테스트 중인데 스마트폰인 LG 옵티머스 LTE3 에서는 리스트뷰의 목록 순서대로

0,1,2,3,4,5,6,7,8,9 순으로 차례대로 position 값을 구해오는데

넥서스7로 테스트만하면 position 값이 랜덤으로 나오네요.. 일정한 규칙도 없이

신기한건 리스트뷰가 10개면 0~9 postion 값이 랜덤으로 섞여져 있습니다..

혹시 같은 문제로 겪었던 분이 계시면 조언 부탁 드리겠습니다.
민킹 (590 포인트) 님이 2014년 5월 7일 질문

1개의 답변

0 추천
 
채택된 답변
음....

리스트뷰의 체크된 position의 값을 별도로 저장하셨는지, 아니면 단순히 row 레이아웃의 위젯의 값만 변경하신 거 아닌가요?

리스트뷰를 사용하시면 아마도 convertView를 holder를 이용하여 재사용하실 겁니다. 이런 경우 항상 체크된 position을 별도의 데이터클래스에 저장하거나 리스트뷰에 뿌려지는 데이터 Array 에 해당 데이터는 선택되었다라는 것을 저장할 변수가 포함되어 있어야 합니다. 그게 아니고 단순히 row의 위젯에 체크상태를 빌어서 체크된 position list를 불러오면 수많은 기기에서 넥서스 7과 같은 동작을 하는 것을 보실 수 있습니다.
dante2k (8,390 포인트) 님이 2014년 5월 8일 답변
민킹님이 2014년 5월 13일 채택됨
...