実践
val context = LocalContext.current
これだけでOK
注意
自分はToastをJetpack Composeで使用するときにこの状況になったのですが、
@Composable
fun MyScreen() {
Button(
onClick = {
Toast.makeText(LocalContext.current, "", Toast.LENGTH_SHORT).show()
}) {}
}
このようにcontextが必要な引数に直接 LocalContext.currentを入力したところ、以下のようなエラーが出ました。
@Composable invocations can only happen from the context of a @Composable function
このエラー内容は、簡単にいると@Composable アノテーションを付けた関数内でのみ呼び出すことができます。
といった内容なので、インスタンス化してから引数として渡すようにします。
@Composable
fun MyScreen() {
val context = LocalContext.current
Button(
onClick = {
Toast.makeText(context, "", Toast.LENGTH_SHORT).show()
}) {}
}
これでエラーがなくなりました。