use*_*r20 2 java notifications android kotlin
我一直在尝试传递上下文,但它不起作用,所以我首先使用
var mContext: Context? = null
Run Code Online (Sandbox Code Playgroud)
然后在我的一个函数中(来自非活动类)我称之为
val intent= Intent(mContext, NotificationActivity::class.java)
mContext?.startActivity(intent)
Run Code Online (Sandbox Code Playgroud)
它没有显示编码错误,但是当我运行此应用程序时,它不起作用
NotificationActivity 是我要调用的类
你所要做的就是这样。
你可以像使用 Kotlin 的非活动示例一样使用它
Utils.startNewActivity(this,SecondActivity::class.java)
Utils.startNewActivity(this@MainActivity,SecondActivity::class.java)
Run Code Online (Sandbox Code Playgroud)
如果您正在执行 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)
}
}
}
Run Code Online (Sandbox Code Playgroud)
或者
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)
}
}
Run Code Online (Sandbox Code Playgroud)
带构造函数的非活动类。!
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)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3616 次 |
| 最近记录: |