Контроллер пользовательского интерфейса, такой как Activity или Fragment, не должен отвечать за запрос и загрузку данных. Создайте модель представления, которая обрабатывает загрузку данных и ссылку на них. Ваши фрагменты, которым это необходимо, могут наблюдать данные через LiveData.
Если вы передадите экземпляр Activity в ViewModelProvider, ViewModel будет жить столько же, сколько и Activity, а не только для жизни фрагмента:
// in onViewCreated():
model = ViewModelProvider(requireActivity()).get(MyViewModel::class.java)
Если вы используете KTX:
// a fragment class property:
val model: MyViewModel by activityViewModels()
model =