首页 > 解决方案 > Android Kotlin:如何获取 Toast 的上下文?

问题描述

在我的 MainActivity 中,我可以将 Toast 与应用程序上下文“this”一起使用。我还有两个活动,它在第二个中也有效,但在第三个中无效。

我试图写的代码:

fun onButtonLogoutClicked(view: View){
        if (user != null){
            auth.signOut()
        } else {
            Toast.makeText(this, "there is no logged-in user", Toast.LENGTH_SHORT).show()
        }
    }

所以AndroidStudio告诉我“'this'没有在这个上下文中定义。

我还搜索并尝试了“getApplicationContext()”之类的东西,但 AndroidStudio 不知道这些方法,我无法导入它们。

任何人都可以帮忙(并向我解释为什么“这个”不起作用?)?

非常感谢,祝您有美好的一天!

标签: kotlintoast

解决方案


这是解决它的一种方法。

fun onButtonLogoutClicked(view: View){
  if (user != null){
       auth.signOut()
  } else {
       Toast.makeText(this@MyActivity, "there is no logged-in user", 
       Toast.LENGTH_SHORT).show()
      }
  }

另一个正在使用context.


推荐阅读