2024. 3. 9. 21:20ㆍ개인 프로젝트
현재 개인 프로젝트로 네이버 맵 API를 사용하여 사용자가 지도를 클릭했을 경우
메모를 작성할 수 있게 하고 지도에 마커를 찍어줬습니다
이후 지도에 찍혀 있는 마커를 클릭할 경우
BottomSheet가 올라오며 사용자가 입력한 메모의 제목과 내용 날짜를 볼 수 있게 하고
수정 버튼과 삭제 버튼을 두어 메모를 삭제하거나 수정할 수 있게 했습니다!
여기서 문제!
메모의 내용을 Delete를 사용해서 삭제를 하면 되는데
마커는 어떻게 삭제를 해주어야 하나..?
여러 가지 시도를 해보았지만 메모의 정보는 잘 사라지고 마커는 절대 사라지지가 않았습니다,,
그러다 문득 Marker()의 객체를 mutableList로 만들어주고
그 리스트에서 사용자가 클릭한 위치의 위도 경도 값을 넣어준 다음
리스트가 순회를 하며 클릭한 위치를 찾고 그걸 삭제해주면 되지 않을까? 라는 생각이 들게 되었습니다!
이후 이렇게 코드를 작성했습니다! -
이 함수는 BottomSheetFragment의 부모 엑티비티에서 작성을 해주었습니다
이후 BottomSheetFragment에서 이렇게 호출했습니다!
삭제 버튼을 누르면 Dialog를 보여주고 이후 메모 정보를 지웠습니다
그러고 아까 부모 엑티비티에서 만든 함수를 호출하여 위도 경도 값을 넣어주고 삭제를 했습니다!
그런데!!!!!!!!!!!!!!
아니 이럴수가 에러가 떴습니다,,,
에러가 뜬 이유는 리스트를 순회하는 동시에 해당 리스트를 수정하려고 해서 발생했습니다,,
이럴수가,,,,
그래서 어떻게 해야하나 생각을 하다가
임시 marker리스트를 하나 만들어서 해결을 해봤습니다! (구글링을 참고 했습니다..ㅎ)
이후 이렇게 코드를 바꿨습니다!
이후 호출은 똑같이 했고 두구두구한 마음으로 실행을 해봤는데!!!
구현 완료!
성공했습니다!!!!!!!!!!!
느낀점:
참,, 긴 시간이었습니다,, 뭔가 머리속으로 떠올렸을 때는 그렇게 어렵지 않을 것이라 생각했었는데 여러 번의 시도에도
불구하고 자꾸 에러가 나서 정말 답답했었습니다.
그래도 이렇게 구현에 성공을 하니 정말 기분이 너무 좋습니다
지금은 삭제 부분만 성공했지만 이제 수정 부분도 구현을 성공해서 프로젝트를 완성하고 싶습니다!
'개인 프로젝트' 카테고리의 다른 글
안드로이드 Lottie 사용하기! (0) | 2024.03.17 |
---|---|
Status Bar에는 지정된 색만 넣을 수 있나?(상태바 색상 변경) (0) | 2024.03.05 |
회원가입 SQLiteDataBase로 구현하기! (0) | 2024.02.22 |
왕초보 안드로이드 개발(연습) (0) | 2024.01.24 |