此问题在此处已有答案:
@可组合调用只能从@可组合函数的上下文中发生(4个答案)
8天前关闭。
对于stackoverflow上的这个错误,似乎有无数种解释,但没有一种能解决我的问题。
如果身份验证失败,我希望显示吐司
我使用的是firebase身份验证,但位置上下文x1c 0d1x出错
我怎样才能通过这个限制呢?
按钮的源代码
Button(
onClick = {
auth.signInWithEmailAndPassword(email, password)
.addOnCompleteListener { task ->
if (task.isSuccessful) {
navController.navigate(Screen.PreferenceScreen.route)
} else {
// If sign in fails, display a message to the user.
Log.w(TAG, "createUserWithEmail:failure", task.exception)
Toast.makeText(
LocalContext.current,
"Authentication failed.",
Toast.LENGTH_SHORT
).show()
}
}
},
modifier = Modifier
.fillMaxWidth()
.padding(8.dp),
enabled = isPasswordValid && confirmPassword == password,
) {
Text(text = "Register")
}
}
1条答案
按热度按时间bzzcjhmw1#
只需在Button外部声明
context
,然后在吐司中使用它,如下所示。或者如果您有一个可组合的结构,只需在那里声明它,并将它传递到该按钮所在的可组合结构中