Android/Kotlin
ArrayList LiveData가 여러번 초기화 될 때
등촌동 꼬북이
2023. 1. 4. 17:02
ArrayList 타입의 LiveData를 Observe 할 때 여러번 call 할 때가 있는때 이게 아래 같이 구현해서 그렇다.
val list: LiveData<List<DATA>> get() = _list
private val _list: MutableLiveData<List<DATA>> = MutableLiveData(ArrayList())
이렇게 하면 ArrayList()하면서 한번 데이터 값 변경할 때 한번 총 두번 호출되는건데
아래와 같이 변경하면 데이터 값을 읽어올 때만 호출된다.
val list: LiveData<List<DATA>> get() = _list
private val _list: MutableLiveData<List<DATA>> = MutableLiveData() // 초기화 구문 삭제