Avatar ·

如何在Jetpack Compose中获取Context (Kotlin)

大家好!我刚开始学习Jetpack Compose,立刻遇到了一个问题。在旧的XML方法中,我习惯通过`this`或`getApplicationContext()`获取Context,但在Compose中这不起作用。我需要获取Context来,例如,显示`Toast`、访问资源(`strings.xml`、颜色)或系统服务如`ConnectivityManager`。 以下是我的代码示例,无法编译: ```kotlin @Composable fun MyScreen() { // 尝试像往常一样获取Context val context = this // 错误:'this'不是Context // 或者这样: val context = getApplicationContext() // 错误:函数未定义 Button(onClick = { Toast.makeText(context, "已点击!", Toast.LENGTH_SHORT).show() }) { Text("显示Toast") } } ``` 我明白Compose是声明式UI,访问Context应该以不同方式组织。但具体怎么做?是否需要将Context作为参数传递?还是有其他方法?