Closed Whiteppanda closed 3 years ago
https://developer.android.com/topic/libraries/architecture/livedata#update_livedata_objects
위 링크 참고해주시면 postValue()
혹은 setValue()
를 통해야만 observe에서 반응할 수 있다는 걸 알 수 있습니다. Kotlin에서 setValue()
가 .value
를 통한 접근으로 표현되므로 _lst.value
의 변화가 필요합니다.
https://developer.android.com/topic/libraries/architecture/livedata#update_livedata_objects
위 링크 참고해주시면
postValue()
혹은setValue()
를 통해야만 observe에서 반응할 수 있다는 걸 알 수 있습니다. Kotlin에서setValue()
가.value
를 통한 접근으로 표현되므로_lst.value
의 변화가 필요합니다.
_lst.value의 변화라고 하시면 위에서 fun을 통한 _lst.value?.add(i)는 _lst의 변화가 아닌건가요?
https://developer.android.com/topic/libraries/architecture/livedata#update_livedata_objects 위 링크 참고해주시면
postValue()
혹은setValue()
를 통해야만 observe에서 반응할 수 있다는 걸 알 수 있습니다. Kotlin에서setValue()
가.value
를 통한 접근으로 표현되므로_lst.value
의 변화가 필요합니다._lst.value의 변화라고 하시면 위에서 fun을 통한 _lst.value?.add(i)는 _lst의 변화가 아닌건가요?
~~_lst.value?.add(i)는 MutableList 내부의 변화이지 MutableLiveData 내부(value)의 변화가 아닙니다. observe가 작동하기 위해서는 MutableLiveData의 변화가 필요합니다.~~
문서를 확인해보시면
setValue()
or postValue()
triggers observers and updates the UI.라고 적혀있습니다.
_lst.setValue()
혹은 _lst.postValue()
만이 observers를 trigger할 수 있음을 뜻하며 _lst.setValue()
가 kotlin에서 _lst.value = ~~
로 표현됩니다.
@Whiteppanda 해결되셨나요?
***kotlin //MainActivitiy.kt에서
//MainViewBinding.kt 에서
observe에 있는 toast가 처음 실행할때 한번 뜨고 그 이후로 버튼을 눌러도 뜨지 않습니다. observe가 안된다고 생각할 수 밖에 없는데 왜 이러는 걸까요.. 제가 view binding, livedata 선언은 몇번을 봐도 틀리지 않은 것 같은데 도저히 모르겠습니다...