Я использую общую ViewModel в компоненте Navigation, а не создаю ViewModel для каждого фрагмента (в основном потому, что это проще), но теперь у меня возникла проблема, когда я повторно ввел фрагмент и подписался на живые данные ViewModel этого фрагментаЯ тоже получаю последнее состояние.
вот код ViewModel:
val apiLessonData: MutableLiveData<String>> = MutableLiveData()
fun getLessonsUserCreated() =
apiCall(MyMaybeObserver(apiLessonData))
в MyMaybeObserver, у меня есть что-то вроде этого:
override fun onSuccess(t: T) {
apiDataObserver.postValue(t)
}
и этоВот как я наблюдаю это в моем фрагменте:
private val apiAddGoalData = Observer<String> { response ->
showSnack(response)
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
.
.
viewModel.apiAddGoalData.observe(viewLifecycleOwner, apiAddGoalData)
.
.
}
теперь, когда я вхожу в первый раз, он работает нормально, но я открываю его во второй раз, он показывает перекус с предыдущего временикак остановить это без создания новой ViewModel?