NavHostFragment не разрешен (AndroidX)Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 NavHostFragment не разрешен (AndroidX)

Сообщение Anonymous »

По какой-то причине я всегда сталкиваюсь со следующей ошибкой:

Код: Выделить всё

     Caused by: android.app.Fragment$InstantiationException: Unable to instantiate fragment androidx.navigation.fragment.NavHostFragment: make sure class name exists, is public, and has an empty constructor that is public
Я следовал Руководству для разработчиков Android, но описанная выше ошибка возникает сразу после запуска приложения.

nav_graph.xml


activity_main.xml
MainActivity.kt

Код: Выделить всё

    package projects.ferrari.rene.sken

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.navigation.findNavController

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main_activity)
}

override fun onSupportNavigateUp()
= findNavController(R.id.my_nav_host_fragment).navigateUp()
}
build.gradle (приложение)

Код: Выделить всё

apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'

android {
compileSdkVersion 'android-P'
defaultConfig {
applicationId "projects.ferrari.rene.sken"
minSdkVersion 21
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}

dependencies {
def anko_version = "0.10.5"
def nav_version = "1.0.0-alpha01"

implementation "android.arch.navigation:navigation-fragment-ktx:$nav_version"
implementation "android.arch.navigation:navigation-ui-ktx:$nav_version"
implementation "org.jetbrains.anko:anko-commons:$anko_version"
implementation 'com.google.android.material:material:1.0.0-alpha1'
implementation 'com.google.android.gms:play-services-vision:15.0.2'
implementation 'androidx.core:core-ktx:1.0.0-alpha1'
implementation 'com.github.pqpo:SmartCropper:v1.1.3@aar'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.0.0-alpha1'
implementation 'androidx.constraintlayout:constraintlayout:1.1.0'
implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0-alpha1'
implementation 'androidx.legacy:legacy-support-v4:1.0.0-alpha1'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.0-alpha2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha2'
}
В основном я использую Kotlin, AndroidX и ориентируюсь на Android P. Я действительно не могу понять, в чем проблема.

РЕДАКТИРОВАТЬ Возможно, возникла проблема с импортом. Для навигации я не импортирую его с помощью AndroidX. В разделе «Создайте свое первое приложение с помощью Jetpack» они используют реализацию «androidx.navigation:navigation-fragment:» + rootProject.navigationVersion, но я не смог выяснить, какую версию они использовали, поэтому я прочитал примечания к выпуску компонента архитектуры, где говорится для AndroidX следует использовать «2.0.0-alpha1». К сожалению, это невозможно решить.

Подробнее здесь: https://stackoverflow.com/questions/504 ... d-androidx
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»