안녕하세요
mvvm 패턴에서 livedata를 사용하려고 하는데 어려움이 있어 질문드립니다 .
private val _userEmail = MutableLiveData() val userEmail: LiveData get() = _userEmail
android:id="@+id/email_edit"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:background="@drawable/edittext_rounded_corner_rectangle"
android:hint="아이디 입력"
android:text="@{signUpViewModel.userEmail}"
android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/textView9"
app:layout_constraintTop_toTopOf="parent" />
먼저 이런식으로 mvvm 패턴을 사용하고 있습니다 .
signUpFragment 가 1~4까지 있는데
2에서 userEmail을 editText로 받아서 4번째 프래그먼트에서 사용합니다 (사용하는 뷰 모델은 똑같습니다)
이렇게 될경우 4번쨰에서 받으면 userEmail이 null 이 나오게 되는데
제생각에는 fragment에서 싱글톤으로 재호출 하면서 사용하거든요
binding.signUpViewModel = baseActivity?.obtainViewModel()
그래서 당연하게 userEmail 이 초기화되면서 기존에 userEmail이 사라진다고 생각합니다
이게 맞는지 부터 궁금합니다
맞다면 이렇게 될경우 저 userEmail 을 사용할수 있는 방법들이 뭘까요?
제생각엔 쉐어드 로 임시 보관해서 뿌려줘야 될거같은데 이벤트 버스라던가
이 두 방법 말고 처리할수 있는 방법이 있나요? 도와주세요 !