Как определить конец перехода на навигационном графике? - PullRequest
1 голос
/ 27 мая 2020

У меня есть следующий переход в моем приложении, но анимация для нового места назначения задерживается из-за обширной загрузки в 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...