尝试构建适用于Android的应用时出现编译问题(“未解析的引用”)(使用Kotlin,在Android Studio中编写)

vecaoik1  于 2022-11-16  发布在  Kotlin
关注(0)|答案(1)|浏览(88)

在尝试Kotlin语言及其“Compose”库时,我遇到了一些示例的问题(我在Android网站上查找过,所以我想示例应该或多或少还可以)。
更准确地说,某些导入(在示例中指定)会生成错误消息,例如:

Unresolved reference: Card

对于导入:

import androidx.compose.material.Card

以下代码段需要:

@Composable
fun MyCard() {
    Card {
        Text("Card Content")
    }
}

我不确定该错误是否与以下内容有关:

  • 集成开发环境(Android Studio)。
  • 缺少某些插件。
  • 库有问题。

我将非常感谢关于如何从这里继续下去的任何建议/提示。
完整性:其他与Compose相关的导入有:

import androidx.compose.foundation.layout.*
import androidx.compose.foundation.selection.toggleable
import androidx.compose.material3.*
import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.foundation.layout.fillMaxSize

其他信息:

Android Studio Chipmunk | 2021.2.1 Patch 1
Build #AI-212.5712.43.2112.8609683, built on May 18, 2022
Runtime version: 11.0.12+0-b1504.28-7817840 aarch64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 12.4
GC: G1 Young Generation, G1 Old Generation
Memory: 2048M
Cores: 8
Registry: external.system.auto.import.disabled=true
Non-Bundled Plugins: org.jetbrains.kotlin (212-1.6.21-release-334-AS5457.46)

Gradle依赖项(由Android Studio生成):

dependencies {
    implementation 'androidx.core:core-ktx:1.7.0'
    implementation "androidx.compose.ui:ui:$compose_version"
    implementation 'androidx.compose.material3:material3:1.0.0-alpha01'
    implementation "androidx.compose.ui:ui-tooling-preview:$compose_version"
    implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1'
    implementation 'androidx.activity:activity-compose:1.3.1'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
    androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_version"
    debugImplementation "androidx.compose.ui:ui-tooling:$compose_version"
    debugImplementation "androidx.compose.ui:ui-test-manifest:$compose_version"
}
kr98yfug

kr98yfug1#

你有没有按照这里的文档添加**@ExperimentalMaterial3Api**?可能是这个问题吧?
编辑:如果使用的是材质3,则需要删除此导入:

import androidx.compose.material.Card

此外,作为信息,材质3的依赖项现在位于1.0.0-alpha 13

dependencies {
    implementation "androidx.compose.material3:material3:1.0.0-alpha13"
    implementation "androidx.compose.material3:material3-window-size-class:1.0.0-alpha13"
}

如果使用Material 2,则需要将其添加到从属关系中:

implementation "androidx.compose.material:material:$compose_version"

相关问题