У меня есть следующий переход в моем приложении, но анимация для нового места назначения задерживается из-за обширной загрузки в recyclerview и другие элементы c graphi.
Я пытался использовать postDelayed при загрузке элементов в recyclerview, но на некоторых устройствах вы чувствуете, что ждете после перехода, а на других требуется больше времени для выполнения перехода (зависит от устройства). Итак, я приземлился на 700 мс, но это не подходит для всех ...
Есть ли способ (то есть обратные вызовы), где я могу определить, когда переход действительно подтвержден, завершился.
Мой код очень просто, при нажатии кнопки в одном фрагменте я называю это:
private fun onDetailClick(stationId: String, itemView: View)
{
(itemView.context as MainActivity).bottom_navigation.visibility = View.GONE
StationDetailRepository.readStationCurrentPrices2(stationId)
val direction = StationListFragmentDirections.actionStationListFragmentToStationDetailFragment(stationId)
try {
Log.i(TAG,"trns: before navigate")
itemView.findNavController()?.navigate(direction)
Log.i(TAG,"trns: after navigate")
}catch(iae: IllegalArgumentException)
{
iae.printStackTrace()
}
catch (ise: IllegalStateException)
{
ise.printStackTrace()
}
}
Просто, как я могу определить, что эта навигация действительно закончилась, и там установил общий ресурс viewModel, который я могу наблюдать в другом Фрагмент, чтобы можно было нормально запускать загрузку элементов?
RG