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

listview 특정 셀만 변경 가능?

0 추천

ArrayAdapter를 사용하여 커스텀 리스트뷰를 만들었습니다.

각 셀에는 하나의 텍스트뷰가 있구요.

총 5개의 셀이 있다고 하고, 여기에 0번째 포지션의 셀에 있는 텍스트 값을 변경해주려 하는데,

 

notifyDataSetChanged() 를 사용하면 무조건 getCount한 숫자만큼 getView가 불려오기때문에 실제로 필요없는 부분도 처리가 되야만 하더라구요.

 

제가 궁금한 것은, 이 리스트뷰의 특정 셀에 있는 텍스트 뷰의 값을 변경하려고 할 때, getView를 전부 다 부르는 것이 아니라, 해당 셀의 getView()만 부르는 방법이 있는지 알고 싶습니다. 조언 부탁드립니다.

 

 

 

konori (530 포인트) 님이 2013년 9월 26일 질문

1개의 답변

0 추천
notifyDataSetChanged()이거 호출한다고 getCount만큼 getView호출 안합니다.

listitem이 몇개 안되니까 전체 호툴한거처럼 느끼신거고요

position 이 0 일때만 Text를 다르게 적용하면 문제 해결
q1212 (26,020 포인트) 님이 2013년 9월 26일 답변
그건 맞지만, 현재 화면에 보이는 셀의 갯수만큼은 getView()가 호출되는데, 만약 현재 화면에 셀이 10개가 넘고, 그리고 edittext를 통해 입력 받은 키워드에 의해 실시간으로 특정 셀들에 있는 이미지,텍스트 등등의 값을 변경시켜줘야 할때 계속해서 notifyDataSetChanged() 를 호출하면 버벅거리는 문제 등이 발생을 하더라구요.. holder 를 이용하면 될 듯 해서 그 부분을 보고 있습니다..ㅠ.ㅠ 감사합니다..
...