캘린더 화면에서 리뷰를 쓰기 위해 다이얼로그를 띄워 진입하게 된다.
리뷰 작성 페이지에서 캘린더 화면으로 다시 나오면 다이얼로그가 다시 뜨는 현상이 발생하였다.
LiveData를 사용하여 다이얼로그를 띄우는 로직을 구성했었는 데, 이 부분이 문제였다.
위와 같은 로직을 통해 다이얼로그가 발생하는데, 리뷰 작성 페이지에서 다시 캘린더 페이지로 나오면 3번 사진에서 LiveData가 유지 되고 있던 터라, observing을 실시하여 한 번 더 다이얼로그를 띄우게 되었다.
처음에는 해결을
아래와 같이 상태를 없애주는 뷰모델 메소드를 만들어 다이얼로그를 띄우고 그 메소드를 호출하는 방식으로 버그를 해결 했었는데, 찾아보니 별로 좋지 않은 방법이라고 하고, (https://medium.com/androiddevelopers/livedata-with-snackbar-navigation-and-other-events-the-singleliveevent-case-ac2622673150)
SingleLiveEvent라는 것을 사용하면 바로 해결 할 수 있다는 것을 찾아내 다시 고쳐보기로 하였다.