android - Jetpack Compose:分析表达式时出现异常
问题描述
我正在尝试使用 Jetpack Compose 构建简单的应用程序。我遵循了这个文档,下载了存储库并创建了我自己的模块。
代码非常简单:
import android.app.Activity
import android.os.Bundle
import androidx.compose.Composable
import androidx.ui.core.Text
import androidx.ui.core.setContent
import androidx.ui.material.surface.Card
import androidx.ui.graphics.Color
class MainActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
MyApp()
}
}
@Composable
fun MyApp() {
Card(color = Color.Cyan) {
Text("test")
}
}
}
但我注意到一些可组合的小部件不起作用,我有以下错误:
在 /path/Projects/androidx-master-dev/frameworks/support/ui/compose/src/main/java/app/myown/MainActivity.kt 中分析 (23,9) 处的表达式时出现异常
其中 (23,9) 引用Card
小部件
顺便说一下其他小部件的工作方式,例如我没有问题
@Composable
fun MyApp() {
Padding(10.dp) {
Text("test")
}
}
它编译并完美运行。
我遇到了以下问题:
- 卡片
- 柱子
- 排
- 中心
- 弹性柱
我猜还有很多其他小部件
解决方案
我之前遇到过这个问题。
每个具有函数import androidx.compose.composer
的 Kotlin 源文件都隐含需要。@Composable
我说“隐式”是因为 Android Studio 认为这是不必要的,并且倾向于删除该行(例如,您要求它优化导入)。一些@Composable
函数可以在没有这个导入的情况下继续存在,但其他函数则不能。
据我了解,这是随着库和工具的发展而变得更好的事情之一,但目前,只要留意那个导入并添加它,如果它丢失并且你变得比 -正常结果。
推荐阅读
- javascript - Boostrap modal 的变化改变了不同的作用域变量
- html - 如何在不影响以下 div 位置的情况下添加图像
- python-3.x - 多次打印到文件
- ssh - 权限被拒绝(公钥)
- javascript - 我在文件管理器中用于启动节点 js 的正确文件路径是什么?
- python - App Engine - 部署停滞不前
- node.js - 是否可以将 bot-builder 集成到现有的 express 应用程序中?
- react-native - 使用带有两个完全不同的数据数组的 React Native FlatList
- python - 如何将烧瓶上下文与 concurrent.futures.ThreadPoolExecutor 一起使用
- javascript - 使用键盘中的箭头键禁用地图平移