未解决的参考:drawable

Kei*_*utt 1 kotlin android-jetpack-compose

当在“Android Studio Chipmunk |”中创建新项目时 2021.2.1 补丁 2' 存在错误“未解析的引用:drawable”:

@Composable
fun JetpackCompose() {
    Card {
        var expanded by remember { mutableStateOf(false) }
        Column(Modifier.clickable {  expanded = !expanded} ) {
            val image = painterResource(id = 
                R.drawable.jetpack_compose)
            Image(painter = image, contentDescription = null)
            AnimatedVisibility(expanded) {
                Text(
                    text = "Jetpack Compose",
                    style = MaterialTheme.typography.h2
                )
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当将上述代码粘贴到现有项目的 MainActivity.kt 文件中时,不存在此错误。

在较新的 Android Studio Chipmunk 中打开由旧版本 Android Studio 创建的项目后,出现此问题。当旧项目打开时,正在从互联网下载并安装不同版本的 Gradle,但我取消了该过程并删除了旧项目,因为在 Android Studio 中使用不正确版本的 Gradle 进行读取可能会导致问题。

两个项目中的导入都匹配,除了 FunWithLayoutsTheme 是另一个项目中的 ComposeArticleTheme 之外:

import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.animation.AnimatedVisibility
import androidx.compose.foundation.Image
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material.Card
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Surface
import androidx.compose.material.Text
import androidx.compose.runtime.*
import androidx.compose.runtime.R
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.tooling.preview.Preview
import com.example.funwithlayouts.ui.theme.FunWithLayoutsTheme
Run Code Online (Sandbox Code Playgroud)

两个项目中的所有文件和所有“Gradle 脚本”文件都匹配。两个项目中的 gradle-wrapper.properties 文件:

distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle- 
    7.3.3-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
Run Code Online (Sandbox Code Playgroud)

尝试过:

  1. 在执行下面 2 项之前,对同步进行分级、使缓存无效并重新启动、清理项目并重建。
  2. 卸载并重新安装 Android Studio,在此过程中选中所有复选框。

预先感谢您提供的任何帮助。

Gab*_*tti 5

改变

import androidx.compose.runtime.R
Run Code Online (Sandbox Code Playgroud)

import yourPackege.R
Run Code Online (Sandbox Code Playgroud)