Перезагрузка данных после каждого поворота Я выбираю данные в onCreate и наблюдаю в onCreateView ().Я хочу знать, после поворота телефона (или после изменения конфигурации данные снова загружаются, в результате у меня есть эти журналы до поворота
fetchConfig ->observe
и после поворота у меня есть
observe ->fetchConfig ->observe
КакЯ могу предотвратить повторную загрузку данных? Я добавил в fetchConfig ()
if(customerConfigData.value==null) {}
, но я не уверен, что это лучшее решение
private val viewModel: HomeViewModel by lazyViewModel()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
viewModel.fetchConfig()
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
viewModel.customerConfigData.observe(viewLifecycleOwner, Observer {
Log.i("test","observe")
})
return inflater.inflate(R.layout.fragment_home,container,false)
}
fun fetchConfig() {
Log.i("test","fetchConfig")
uiScope.launch {
val configEndpoint = EnigmaRiverContext.getExposureBaseUrl().append("v1/customer").append(AppConstants.CUSTOMER_UNIT)
.append("businessunit").append(AppConstants.BUSINESS_UNIT).append("defaultConfig").append("?preview=true")
val parsedData = homeRepository.fetchConfig(configEndpoint, GetConfigCall())
customerConfigMutableData.postValue(parsedData)
}
}