java - 如何从 Android kotlin 中的非 Activity 类开始新 Activity ?

标签 java android notifications kotlin

<分区>

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

var mContext: Context? = null

然后在我的一个函数(来自非 Activity 类)中调用它

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

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

NotificationActivity 是我要调用的类

最佳答案

你所要做的就是这样。

你可以像Non Activity Example Using Kotlin一样使用它

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


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

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

 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)

            }
        }

}

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)

        }


}

带构造函数的非 Activity 类。!

 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)

}


}

关于java - 如何从 Android kotlin 中的非 Activity 类开始新 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49745488/

相关文章:

php - 组键单信号推送通知

java - 无法正确中断平均线程

android - 禁用 RecyclerView 的触摸事件(以防止用户触摸)?

Android:如何知道何时卸载SD卡

java - 应用程序崩溃而无法执行 AsyncTask

android - 如何仅在评分栏中允许完整值(整数)?

vim - 在 MacVim 中禁用铃声

java - Athena 从 parquet 模式创建表

java - 通过改造上传文件

java - Maven 无法使用 Eclipse 解决 Jacob 依赖关系