ViewModel предотвращает повторную выборку данныхAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 ViewModel предотвращает повторную выборку данных

Сообщение Anonymous »

Моя модель представления повторно извлекает мои данные, в результате чего мое мерцание продолжает выполняться каждый раз, когда я добираюсь до этого фрагмента, а также данные перезагружаются, из-за чего мой счет в Firebase увеличивается

Как я могу предотвратить повторное получение данных каждый раз, когда появляется мой фрагмент?

С моей точки зрения

viewModel.fetchShops(location).observe(viewLifecycleOwner, Observer {
when(it){
is Resource.Loading -> {
shimmer.visibility = View.VISIBLE
shimmer.startShimmer()}
is Resource.Success -> {
shimmer.visibility = View.GONE
shimmer.stopShimmer()
adapter.setItems(it.data)
}
is Resource.Failure -> {
Toast.makeText(requireContext(),"Error fetching data",Toast.LENGTH_SHORT).show()
}
}
})


Я вызываю это в своем onViewCreated(), поэтому каждый раз, когда этот фрагмент воссоздает мой Resource.Loading, а также fetchShops(location) и это снова загружает мою базу данных, я хочу, чтобы она загружалась только один раз каждый раз, когда я возвращаюсь к этому фрагменту, есть идеи?

ViewModel

fun fetchShops(location:String) = liveData(Dispatchers.IO) {
emit(Resource.Loading())
try{
emit(repo.fetchShops(location))
}catch (e:Exception){
emit(Resource.Failure(e))
}
}


Подробнее здесь: https://stackoverflow.com/questions/615 ... ng-of-data
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»