在 Kotlin、Android 中重用方法

安吉丽娜

我需要从应用程序中的几个不同点打开一项活动。让我们从设置片段、主要活动和导航抽屉(片段)说起。我不想复制/粘贴相同的方法并且该方法非常具体,它应该完全相同(因为它注册了 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章