我需要从应用程序中的几个不同点打开一项活动。让我们从设置片段、主要活动和导航抽屉(片段)说起。我不想复制/粘贴相同的方法并且该方法非常具体,它应该完全相同(因为它注册了 Firebase 事件)。如何以有效的方式构建代码?把这个方法放在哪里?一种想法是拥有一个仅包含方法的全局 ActivityUtils.kt 文件,它将用于存储这些方法。我对替代方案以及每种方案的优缺点感兴趣。
我会companion object
在您需要打开的活动中创建一个:
class YourActivity : AppCompatActivity() {
companion object {
fun start(ctx: Context) {
// put your logic here (registering of Firebase events)
val i = Intent(ctx, YourActivity::class.java)
ctx.startActivity(i)
}
}
}
并从另一个活动调用它:
YourActivity.start(this)
或来自另一个片段:
YourActivity.start(context)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句