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() // 초기화 구문 삭제
'Android > Kotlin' 카테고리의 다른 글
데이터 바인딩 Default 세팅 (0) | 2023.01.06 |
---|---|
RecyclerView에서 스크롤 하다가 갑자기 맨 위로 가지는 현상 (1) | 2023.01.04 |
RecyclerView에서 3, 4번째 아이템이 제대로 로딩되지 않는 현상 (0) | 2023.01.04 |
Button의 Text가 전부 대문자로 나올 때 (0) | 2022.12.01 |
Exoplayer redirect 시 오류 (2) | 2022.08.30 |
댓글