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

리스트뷰의 특정 아이템 갱신...!

+1 추천
현재 구성된 리스트뷰는 ArrayAdapter를 상속 받은 어뎁터가 ListView 에 setAdaper 되는 식입니다.

검색해보면 리스트뷰를 갱신하는 정말 갖가지 많은 방법들이 있는데 이게 상황에 따라 좀 다른가봅니다..

지금 제 상황은 리스트를 서버DB에서 가져와서 5개를 뿌립니다. 그리고 스크롤이 5개째에 오면 그 뒤에 5개를 부릅니다.

페북에서 뉴스피드의 담벼락이 처음부터 다뜨는게 아니듯이 저도 5개씩 뿌리고 있습니다.

문제는 하나의 아이템을 선택하고 제목,내용등을 수정한뒤 다시 리스트로 돌아가면 그 수정사항이 반영이 안되있다는 겁니다.

검색해보니 notifyDataSetChanged() 이게 가장 많은 얘기가 나오는데, 이건 추가나 삭제됬을때 리스트가 변경될때 먹히는거 같더군요

하지만 저는 수정한 사항이 반영되야 하는겁니다.. ㅠ 그 특정 아이템의 내용만 디비서버에 다시 요청해서 받아온뒤 그 아이템만 갱신하면 좋겠는데..

물론 아예 리스트뷰를 새로고침해보는건 해봤습니다.

하지만 리스트뷰를 통채로 새로고침하면 디비에서 다시 그 정보들을 가져오는데 다시 5개씩 끊어서 읽어오는게 문제입니다.

그리고 젤 중요한건 제가 리스트뷰를 쭉~ 보다가 9번째 아이템을 클릭해서 수정한 뒤 다시 돌아왔을때 그 9번째에 스크롤 포커스가 가야한다는 점입니다..

스크롤 포커스 하는 법은 찾았습니다! 다만.. ㅠㅠ 수정 한뒤 새로고침을 전체가 아닌 그 아이템만 하고싶은데..

하루가지나도 저의 삽은 결과물을 못내놓고있습니다 도와주세요 ㅠ
cmsypub (820 포인트) 님이 2015년 8월 18일 질문

2개의 답변

0 추천
익명사용자 님이 2015년 8월 18일 답변
0 추천
특정 리스트 아이템에 대한 유니크한 ID 가 있다면

 

해당 ID 에 대해서만 정보를 받아오는 서버 TASK  를 정의한 후,

리스트 아이템 정보가 변경되는 시점에

그 TASK 를 호출하여 정보를 다시 받아온 후 갱신시켜주면 되지 않을까요??
블랙천사 (260 포인트) 님이 2015년 8월 19일 답변
...