На уровне приложения build.gradle добавьте следующее:
apply plugin: 'androidx.navigation.safeargs'
Обновлять:
Эта кодовая лаборатория очень старая, попробуйте не обновлять библиотеки.
apply plugin: 'androidx.navigation.safeargs' Уже есть на уровне приложения.
Какую версию Android Studio вы используете.
Android-студия 3.3.1
или удалить всю папку сборки.
Давайте продолжить обсуждение в чате.
Try to add
classpath "android.arch.navigation:navigation-safe-args-gradle-plugin:1.0.0-alpha05"
Instead of
classpath "android.arch.navigation:navigation-safe-args-gradle-plugin:1.0.0-rc02"
Не удалось найти androidx.navigation:safe-args-gradle-plugin:1.0.0-rc02.
В версии 3.3.1 Android Studio есть подобные проблемы, но решение простое. Закройте проект и снова импортируйте проект. Вы увидите результат.
Если вы используете kotlin и androidX, замените это
apply plugin: "androidx.navigation.safeargs"
с участием
apply plugin: "androidx.navigation.safeargs.kotlin"
и на уровне проекта build.gradle
dependencies {
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.1.0-alpha01"
}
на уровне приложения build.gradle
def nav_version = "2.1.0-alpha01"
implementation "androidx.navigation:navigation-fragment:$nav_version"
implementation "androidx.navigation:navigation-ui:$nav_version"
Если вы используете котлин Ktx
implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
Надеюсь, это поможет и другим людям. мне тоже помогает
Изменить это
implementation 'android.arch.navigation:navigation-fragment-ktx:2.2.0-alpha01'
implementation 'android.arch.navigation:navigation-ui-ktx:2.2.0-alpha01'
к этому:
implementation 'androidx.navigation:navigation-fragment-ktx:2.2.0-alpha01'
implementation 'androidx.navigation:navigation-ui-ktx:2.2.0-alpha01'
Уведомление, что android.arch.navigation заменен на androidx.navigation
также обязательно примените этот плагин поверх build.gradle:
apply plugin: "androidx.navigation.safeargs.kotlin"
и это к зависимостям уровня проекта build.gradle:
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.1.0-rc01"
Я попробовал все, что написано выше, т.е. добавил все плагины и зависимости (что, впрочем, совершенно правильно), но я делал эту глупую ошибку -> Я создавал переменную navArgs вне фрагмента
Не->
private val args by navArgs<VideoCallFragmentArgs>()
class YourFragment : Fragment() {
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
return inflater.inflate(R.layout.fragment_video_call, container, false)
}
}
Всегда создавайте переменную navArgs внутри фрагмента.
Сделать ->
class YourFragment : Fragment() {
private val args by navArgs<VideoCallFragmentArgs>()
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
return inflater.inflate(R.layout.fragment_video_call, container, false)
}
}
DeepLinkFragmentArgsFlowStepFragmentArgsFlowStepFragmentDirectionsвсе это автоматически сгенерированный класс.