공부/Android

오늘 마주친.. 이상한 오류

데자와 맛있다 2023. 7. 6. 22:43

상황설명

어떤 리사이클러 뷰 어댑터의 viewholder 안에 있는 bind함수내용임

보면 이게 어떤 버튼을 누르면 다이얼로그가 보이고 다이얼로그로 shuttleBusStop이라는 값이 전달되고있음

이 값은 이 리사이클러뷰 어댑터 안의 리사이클러뷰의 리스트의 아이템임

 

아래처럼 다이얼로그에서 값을 받고

 

두개의 뷰모델로 각각 이 셔틀버스 값을 보내서 처리를 하려고했음

아래처럼 셔틀버스 뷰모델에서 리스트 값 변경하고

메인뷰모델에서 값 변경하려고했음

근데 잘안됨

왜냐면 이게 각각 따로 뷰모델로 shuttleBusStop을 보낸건데 얘들이 다른 변수들이 아니고 주소가 동일한 변수들인거임

그 증거로 셔틀버스 뷰모델에서 출력한 로그를 보면

 

반복문에서는 리스트 안에 있는 값을 변경했는데 매개변수로 받은 셔틀버스 스톱 값도 달라진것

애시당초 === 도 주소까지 같은것을 의미함

 

진짜 ㅠㅠ 으악