코드는 내 깃헙을 참고하면 된다. 커밋 로그와 블로그 포스팅 제목이 유사하게 따라간다. SnackbarMessage SnackbarMessage는 SingleLiveEvent이다. 앞 포스팅에 있는 그 SingleLiveEvent이다. Snackbar에 보여주고 싶은 메세지가 있다면 이 이벤트의 value에 원하는 메시지를 담으면 된다. class SnackbarMessage : SingleLiveEvent() { fun observe(owner: LifecycleOwner, observer: (Int) -> Unit) { super.observe(owner, Observer { it?.run { observer(it) } }) } } 위의 super.observe는 SingleLiveEvent에 있는 ..
MVVM에서 데이터가 변경되는 시점에 UI가 변경되도록 하기 위해서 LiveData를 사용한다. 그런데 LiveData의 특성상 시도때도 없이 이벤트를 발생시킬 수 있기 때문에 SingleLiveEvent라는 것을 보통 만들어 쓴다. 여기서는 이 SingleLiveEvent의 용도를 확인해보자. LiveData. Data의 변경을 관측할 수 있는 (데이터가 변경되었을 때 감지가 됨) Data Holder 클래스. (데이터를 가지고 있음) 변경을 감지할 수 있는 이유는 컴포넌트의 생명주기를 LiveData가 알고 있기 때문이다. LiveData는 Observer 패턴을 가지기 때문에 데이터의 변경이 있을 시 콜백으로 받아서 처리할 수 있다. 옵저버 등록과 관련하여 다른 블로그에서 설명한 글을 가지고 와 보..
Comment