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

listview_singlechoice 와 sqlite db 연동시오류

0 추천

sqlite db 작성후 db.delete(id)함수 작성후
db.delete(listview checkeditemposition())로 pos값 받아서 제거하는 함수와
 singlechoicemode로db값이 연동된 listview를 만들었습니다
그 후에 listview에있는 두번째 항목을 체크한후에 delete버튼을
눌렀더니 id는 2가 삭제된후 1 하고 3 항목이 남았습니다.
하지만 singlechoice모드는 삭제되고나서 항목 순서로  번호가 설정되지만
저는 id를 사용하여 지웠기때문에 id 번호가 안맞아
삭제할경우 삭제가 안되는 현상이 발생합니다
db.delete함수 실행후 id값을 재 설정하여 2번이 삭제되었을경우 1번 3번이 아닌 3번->2번으로
바꾸는 방법이 아닌 다른 방법이 있을까요? id재배치 하는 함수를 생각 하려고 했으나 몇번 실패하여 질문드립니다.
sqlite db를 삭제하고나면
이와같이 id값하고 번호가 다르네여,,id값 왼쪽에 있는 값을 불러오든가해야하는데 도무지 모르겠네요..

류니 (540 포인트) 님이 2021년 11월 2일 질문
류니님이 2021년 11월 2일 수정

1개의 답변

+1 추천
 
채택된 답변
ListView에 사용하는 데이터 구조에 DB에 사용하는 id를 필드로 추가하세요. 그리고 리스트뷰를 클릭할 때 어떤 아이템이 눌렸는지 알 수 있으니, 눌린 아이템의 ID도 알 수 있겠죠. 이 ID를 사용해서 쿼리를 호출하세요. DB에서 항목삭제 후에는 다시 DB에서 데이터를 읽어와 리스트뷰를 갱신해 주면 됩니다.
spark (226,420 포인트) 님이 2021년 11월 2일 답변
류니님이 2021년 11월 16일 채택됨
...