【问题标题】:Start activity to another intent is not working启动另一个意图的活动不起作用
【发布时间】:2019-01-28 11:41:49
【问题描述】:

我使用 android 内置的导航抽屉创建了一个新项目,然后我在导航抽屉中添加了我的菜单,然后创建了另一个是空活动的活动,并在那里创建了一个 getStarted 按钮并点击监听制定了具有导航抽屉的 mainActivity 的意图,然后将其分配给 getstarted 按钮到 startActivity(mainIntent) 但它不起作用,我做了很多研发但根本没有工作,我得到以下错误。

我已经尝试了所有的讨论over here

但在我的情况下没有任何效果

class WelcomeActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_welcome)
        getStartedBtn.setOnClickListener {
            val main = Intent(this,MainActivity::class.java)
            startActivity(main)
        }
    }

我想被路由到主活动。在主活动中,我使用了内置工具栏或导航抽屉。

【问题讨论】:

  • 这里的“不工作”对您意味着什么?什么是“以下错误”?
  • onClickListener中“this”的上下文是什么,尝试将其更改为活动上下文。

标签: android android-intent kotlin


【解决方案1】:

要从外部作用域(类、扩展函数或带有接收器的标记函数字面量)访问 this,我们编写 this@label 其中@label 是作用域上的标签 this 意味着来自:

您应该指定您的范围。欲了解更多信息,您可以查看此link

val main = Intent(this@WelcomeActivity, MainActivity::class.java)
startActivity(main)

希望这行得通!

【讨论】:

  • 您好 Ensar,我不会说您的答案是错误的,但下次考虑解释为什么必须对代码进行特定更改。谢谢
  • 感谢您的反馈。我根据您的建议编辑了我的答案。
【解决方案2】:

尝试将val main = Intent(this,MainActivity::class.java)改为val main = Intent(WelcomeActivity.this,MainActivity::class.java)

还要确保 getStartedBtn 从 xml 文件中正确导入。

【讨论】:

    【解决方案3】:

    您是否正确导入 getStartedBtn 并尝试将 val main = Intent(this,MainActivity::class.java) 更改为 val main = Intent(applicatonContext,MainActivity::class.java) 它认为这会有所帮助,如果您仍然遇到任何问题,请发布错误。

    【讨论】:

      猜你喜欢
      • 2016-06-27
      • 1970-01-01
      • 2014-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-18
      • 1970-01-01
      相关资源
      最近更新 更多