Ted*_*nry 3 android android-intent kotlin
我在 Kotlin 中看到了很多例子,其中活动类有一个伴随对象来封装启动意图的创建,如下所示。似乎特别受 Java 启发。
class HomeActivity : AppCompatActivity() {
companion object {
fun newStartIntent(context: Context): Intent {
val intent = Intent(context, HomeActivity::class.java)
return intent
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
this.setContentView(R.layout.activity_home)
// ...
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
既然 Kotlin 有顶级函数,为什么不跳过伴随对象而只拥有一个顶级函数呢?
fun newHomeActivityStartIntent(context: Context): Intent {
val intent = Intent(context, HomeActivity::class.java)
return intent
}
class HomeActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
this.setContentView(R.layout.activity_home)
// ...
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
实际上,您的方法没有任何问题。我想到了为什么我会选择一个伴随对象而不是顶级函数的几个原因:
new...您都会得到一个部分不相关结果的列表;这是一个风格问题。只需选择一个并保持一致!
| 归档时间: |
|
| 查看次数: |
213 次 |
| 最近记录: |