Я только что создал новый проект в Kotlin и хотел добавить в него навигацию и безопасные аргументы.
Я создал 2 фрагмента (DishListFragment, DishDetailFragment) и навигационный граф с действием одного фрагмента на другой в нем. Я добавил одну кнопку в свой первый фрагмент и установил прослушиватель кликов, используя привязку представления:
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
binding.deneme.setOnClickListener {
val action = DishListFragmentDirections.actionDishListFragmentToDishDetailFragment()
findNavController().navigate(action)
}
}
но когда я пытаюсь создать действие направления с именем DishListFragmentDirections, студия Android выдает мне красные ошибки:
Unresolved reference: DishListFragmentDirections
и говорит, что мне следует создать класс DishListFragmentDirections.
Что я пробовал:
В файл build.gradle уровня приложения я добавил:
implementation(libs.androidx.navigation.safe.args.generator)
implementation(libs.androidx.navigation.safe.args.gradle.plugin)
Я пробовал аннулировать кеши и пересобрать проект, но ничего не помогло. Я пробовал что-то делать в документе, но думаю, что структура изменилась или что-то в этом роде.
Модуль build.gradle.ktsplugins {
alias(libs.plugins.androidApplication)
alias(libs.plugins.jetbrainsKotlinAndroid)
}
android {
namespace = "com.example.myapplication"
compileSdk = 34
defaultConfig {
applicationId = "com.example.myapplication"
minSdk = 24
targetSdk = 34
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}
buildFeatures {
viewBinding = true
}
}
dependencies {
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat)
implementation(libs.material)
implementation(libs.androidx.activity)
implementation(libs.androidx.constraintlayout)
implementation(libs.androidx.navigation.fragment)
implementation(libs.androidx.navigation.safe.args.generator)
implementation(libs.androidx.navigation.safe.args.gradle.plugin)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
}
Проект build.gradle.kts
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
alias(libs.plugins.androidApplication) apply false
alias(libs.plugins.jetbrainsKotlinAndroid) apply false
}
Подробнее здесь: https://stackoverflow.com/questions/781 ... generating
Направление безопасных аргументов Kotlin не генерируется ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1719765379
Anonymous
Я только что создал новый проект в Kotlin и хотел добавить в него навигацию и безопасные аргументы.
Я создал 2 фрагмента (DishListFragment, DishDetailFragment) и навигационный граф с действием одного фрагмента на другой в нем. Я добавил одну кнопку в свой первый фрагмент и установил прослушиватель кликов, используя привязку представления:
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
binding.deneme.setOnClickListener {
val action = DishListFragmentDirections.actionDishListFragmentToDishDetailFragment()
findNavController().navigate(action)
}
}
но когда я пытаюсь создать действие направления с именем DishListFragmentDirections, студия Android выдает мне красные ошибки:
Unresolved reference: DishListFragmentDirections
и говорит, что мне следует создать класс DishListFragmentDirections.
[b]Что я пробовал:[/b]
В файл build.gradle уровня приложения я добавил:
implementation(libs.androidx.navigation.safe.args.generator)
implementation(libs.androidx.navigation.safe.args.gradle.plugin)
Я пробовал аннулировать кеши и пересобрать проект, но ничего не помогло. Я пробовал что-то делать в документе, но думаю, что структура изменилась или что-то в этом роде.
[b]Модуль[/b] build.gradle.ktsplugins {
alias(libs.plugins.androidApplication)
alias(libs.plugins.jetbrainsKotlinAndroid)
}
android {
namespace = "com.example.myapplication"
compileSdk = 34
defaultConfig {
applicationId = "com.example.myapplication"
minSdk = 24
targetSdk = 34
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}
buildFeatures {
viewBinding = true
}
}
dependencies {
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat)
implementation(libs.material)
implementation(libs.androidx.activity)
implementation(libs.androidx.constraintlayout)
implementation(libs.androidx.navigation.fragment)
implementation(libs.androidx.navigation.safe.args.generator)
implementation(libs.androidx.navigation.safe.args.gradle.plugin)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
}
[b]Проект[/b] build.gradle.kts
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
alias(libs.plugins.androidApplication) apply false
alias(libs.plugins.jetbrainsKotlinAndroid) apply false
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78153170/kotlin-safe-args-direction-is-not-generating[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия