Сбой приложения из-за активности, потому что когда вызывается provideNavController
, вы еще не настроили представление контента, используя setContentView
шаг 1: Если ваш расширяющий DaggerAppCompatActivity
копирует свой код и расширяет AppCompatActivity, в противном случаепросто выполните шаг 2.
шаг 2: переместите AndroidInjection.inject(this)
строку из onCreate
метода после setContentView(...)
Но по моему опыту это может привести к другим проблемам, таким как это , поэтому для получения вашего контроллера навигации от вашей деятельности лучшим выбором может быть просто использование расширения, а на самом деле есть встроенное, если у вас есть зависимость 'android.arch.navigation:navigation-ui-ktx:1.0.0-alpha05'
в вашем build.gradle:
findNavController(R.id.fragment_container)
Так что для своей деятельности вы можете использовать это расширение, и в любом случае, если вы используете способ, рекомендованный для одной активности, в большинстве случаев вы получите навигацию по фрагменту и там вы все равно можете использовать инъекцию кинжала