FindNavController (). navigate (direction) не работает для View.OnLongClickListener, но работает для View.OnClickListener

Roar Grønmo спросил: 03 ноября 2018 в 08:42 в: android

Android-разработчик Canary 3.4, kotlin.

Обнаружено, что View.OnLongClickListener дает несоответствие типов. Разве View.OnLongClickListener не учитывается для нового навигационного графика в Android?

private fun createOnClickListener(stationId: String): View.OnClickListener
{
    return View.OnClickListener {
        val direction = StationListFragmentDirections.ActionStationListFragmentToStationDetailFragment(stationId)
        it.findNavController().navigate(direction)
    }
}private fun createOnLongClickListener(stationId: String, kindId: String): View.OnLongClickListener
{
    return View.OnLongClickListener {
        val direction = StationListFragmentDirections.ActionStationListFragmentToUpdatePriceFragment(stationId,kindId)
        it.findNavController().navigate(direction)   // <--- Gives error here
    }
}

Две вышеупомянутые функции должны вести себя одинаково, но нижняя (createOnLongClickListener) дает ' Ошибка типа"ошибка для" направления".

Не добавлена ​​ли поддержка навигации для View.OnLongClickListener?

0 ответов