如何从 Android kotlin 中的非活动类启动新活动? [复制]

2023-12-19

我一直在尝试传递上下文,但它不起作用 所以我首先使用声明它

var mContext: Context? = null

然后在我的一个函数(来自非活动类)中我称之为

val intent= Intent(mContext, NotificationActivity::class.java)
mContext?.startActivity(intent)

它没有显示编码错误,但是当我运行这个应用程序时,它就不起作用

notificationActivity 是我要调用的类


你所要做的就是这样。

你可以像这样使用它使用 Kotlin 的非活动示例 https://github.com/AtifAbbAsi19/Basic-Kotlin-Tutorial/blob/master/app/src/main/java/inc/droidflick/kotlintutorial/utils/Utils.kt

 Utils.startNewActivity(this,SecondActivity::class.java)


 Utils.startNewActivity(this@MainActivity,SecondActivity::class.java)

如果您正在执行 onClick 或使用适配器,那么您可以从其视图中获取上下文,例如

 Utils.startNewActivity(view.context,SecondActivity::class.java)









    class Utils {

        companion object {
            fun startActivity(context: Context, clazz: Class<*>) {

                val intent = Intent(context, clazz)

               // start your next activity

                context.startActivity(intent)

            }
        }

}

or

object Utils {

     fun startNewActivity(context: Context, clazz: Class<*>) {

            val intent = Intent(context, clazz)
// To pass any data to next activity
//            intent.putExtra("keyIdentifier", value)
// start your next activity
            context.startActivity(intent)

        }


}

带有构造函数的非活动类。!

 UtilsWithConstructor(this@MainActivity).startNewActivity(SecondActivity::class.java)

class UtilsWithConstructor(private val context: Context) {

      fun startNewActivity(clazz: Class<*>) {

    val intent = Intent(context, clazz)
    // start your next activity
    context?.startActivity(intent)

}


}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 Android kotlin 中的非活动类启动新活动? [复制] 的相关文章

随机推荐