ViewModel
объекты привязаны к Lifecycle
, переданному ViewModelProvider
. При первом создании ViewModel
во фрагменте:
amountViewModel = ViewModelProviders.of(this).get(AmountViewModel.class);
он становится ограниченным жизненным циклом этого фрагмента. Это означает, что когда вы начинаете новое действие и пытаетесь найти там ViewModel
, будет создано новое, которое будет связано с жизненным циклом действия.
Если вы хотите разделить ViewModel
между экранами, вам, вероятно, следует использовать один Activity
и переключаться между различными Fragments
, которые могут использовать один и тот же ViewModel
в жизненном цикле этого действия. Я предлагаю попробовать Компонент архитектуры навигации , который упрощает навигацию с использованием фрагментов.
В противном случае, если вы хотите придерживаться текущей реализации и сохранять данные между действиями, вам следует использовать такие параметры, как SharedPreferences
, файлы или другие, в зависимости от типа данных, которые вы хотите сохранить.