Код: Выделить всё
@HiltViewModel
class ChildViewModel @Inject constructor(
private val repo: Repository
) : ViewModel() {
}
Я попробовал следующую строку. Но это использует один и тот же экземпляр модели представления для всех трех ChildFragments, что нежелательно.
Код: Выделить всё
private val vm by hiltNavGraphViewModels(R.id.homeFragment)
Я тоже пробовал
Код: Выделить всё
private lateinit var vm: ChildViewModel
...
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
super.onCreateView(inflater, container, savedInstanceState)
parentFragment?.let {
vm = ViewModelProvider(it).get(args.sectionId, CihldViewModel::class.java)
}
}
Причина, по которой я хочу ограничить эту модель представления до пункта назначения навигации HomeFragment, заключается в следующем: saveState, чтобы я мог повторно использовать один и тот же соответствующий экземпляр модели представления для каждого дочернего фрагмента, когда пользователь возвращается в HomeFragment
Подробнее здесь: https://stackoverflow.com/questions/791 ... -scoped-to
Мобильная версия