【问题标题】:Should I use getApplicationContext() or getContext() in Intent?我应该在 Intent 中使用 getApplicationContext() 还是 getContext()?
【发布时间】:2020-10-14 20:20:11
【问题描述】:

点击按钮时,我正在开始一个新的活动,如下所示:

        Intent(requireContext(), SecondActivity::class.java).apply {
        putExtra(RECORDED_SUCCESSFULLY, filePath)
        (activity as FirstActivity).finish()
        startActivity(this)
        }

但是因为我需要在创建一个新活动之前完成这个活动,所以这里的 requireContext() 偶尔会等于 null,这会导致崩溃。所以我的问题是,在这种情况下我可以使用 getApplicationContext() 还是应该使用 getContext() 安全调用?

【问题讨论】:

  • 您可以使用活动上下文并启动活动。下面你可以调用 finish() 方法来杀死当前的活动
  • 这是在点击监听器中吗?您可以使用view.contextactivity 仅在未附加片段时为空。因此,无论何时处理它,它都不应该为 null,对吧?

标签: android kotlin android-intent android-activity android-context


【解决方案1】:

首选使用 Activityname.this 或 getApplicationContext()。 请记住,android 中有两种类型的上下文,当您处理诸如完成之类的活动组件时,请使用 Activityname.this

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-25
    • 1970-01-01
    • 1970-01-01
    • 2012-03-10
    • 2018-09-05
    • 1970-01-01
    • 1970-01-01
    • 2015-07-15
    相关资源
    最近更新 更多