首页 > 解决方案 > 使用 Koin 时无法通过显式意图启动活动(Koincontext 已启动)

问题描述

我有两个活动:MainActivity 和 LoginActivity。MainActivity 包含一个带有帐户退出选项的片段,然后打开一个显示 LoginActivity 的意图。

我使用 Koin 作为 DI。我收到此错误:

java.lang.RuntimeException: Unable to start activity ComponentInfo{***/***.LoginActivity}: java.lang.IllegalStateException: A KoinContext is already started

对于以下代码:

    private fun setListeners(){
    btnLogout.setOnClickListener {
        firebaseAuth.getInstance().signOut()
        activity?.finish()
        val intent = Intent(context, LoginActivity::class.java)
        startActivity((intent))
    }
}

我不太确定问题是什么。我应该通过 Koin 注入 LoginActivity 吗?意图不应该与 Koin 一起使用吗?

标签: androidkotlindependency-injectionkoin

解决方案


尝试这个

private fun setListeners(){
    btnLogout.setOnClickListener {
        firebaseAuth.getInstance().signOut()
        activity?.finish()
        val intent = Intent(this, LoginActivity::class.java)
        startActivity((intent))
    }
}

推荐阅读