gpt4 book ai didi

android - AS 3.5 中的 lint 无法识别 SafeArgs 生成的类(方向/参数)

转载 作者:行者123 更新时间:2023-11-30 05:01:15 35 4
gpt4 key购买 nike

我正在迁移几个应用程序以使用导航组件,但我遇到了一个问题 - android-safe-args-gradle-plugin 生成的 Directions/Args 类未被识别在 Android Studio 中。

演示此问题的代码位于 github.com/wooldridgetm/android-navigation.git ,但问题的症结在于,在下面的代码中,无法识别 HomeFragmentDirections。这取自 HomeFragment 类,第 76 - 82 行。

val b2 = view.findViewById<Button>(R.id.navigate_action_button)
b2.setOnClickListener {
// PROBLEM: HomeFragmentDirections isn't recognized.
val action = HomeFragmentDirections.nextAction()
// PROBLEM: results in Unresolved reference: flowStepNumber
// action.flowStepNumber = 1
findNavController().navigate(action)
}

我知道文档说的是什么,我知道 HomeFragmentDirections 类是由插件生成的,位于 app/build/generated/source/navigation-args/debug/code/example/android/codelabs/navigation,但是不被AS识别。

我也知道这在插件的 v2 之前确实有效...但它现在不起作用而且我什至无法获得一个简单的示例来按预期运行。

有什么问题吗?


背景

我在 MacOS Mojave 10.14.6 上使用 AS 3.5。

项目 build.gradle 依赖:

classpath 'com.android.tools.build:gradle:3.5.0'
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.1.0"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.50"

应用build.gradle文件:

apply plugin: 'androidx.navigation.safeargs.kotlin'

dependencies {
// Navigation
def nav_version = "2.1.0"
implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
}

最佳答案

Android Studio/Lint 没有“看到”这些类的原因是 BIAD(b/c 我是个傻瓜)。

我通过 Preferences> Editor> File Types 在 Project Panel 中排除了 build 文件夹> 忽略文件和文件夹

无论如何,从 Ignore files and folders 中删除 build 文件夹就可以了。

Preferences > Editor > File Types

关于android - AS 3.5 中的 lint 无法识别 SafeArgs 生成的类(方向/参数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58204134/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com