今天来用kotlin实作一个BaseActivity,方便以後跳页传值使用
fun start(next: Class<*>, bundle: Bundle?, finished: Boolean) {
val intent = Intent(this , next::class.java)
if(bundle == null)intent.putExtras(Bundle())
else intent.putExtras(bundle)
startActivity(intent)
if (finished) this.finish()
}
也可以用类似java的写法
lateinit var intent : Intent
intent.setClass(this, next::class.java)
然後要记得用Bundle的空值设定,否则传进去是空值的话会报错
然後因为平常不会每一次都要传值或是终止activity,所以可以在下面这麽做
fun start(next: Class<*>){
this.start(next,null,false)
}
fun start(next: Class<*>,bundle: Bundle?){
this.start(next,bundle,false)
}
fun start(next: Class<*>, finished: Boolean){
this.start(next,null,finished)
}
完整程序码
class BaseActiivity : AppCompatActivity() {
fun start(next: Class<*>, bundle: Bundle?, finished: Boolean) {
lateinit var intent : Intent
intent.setClass(this, next::class.java)
if(bundle == null)intent.putExtras(Bundle())
else intent.putExtras(bundle)
startActivity(intent)
if (finished) this.finish()
}
fun start(next: Class<*>){
this.start(next,null,false)
}
fun start(next: Class<*>,bundle: Bundle?){
this.start(next,bundle,false)
}
fun start(next: Class<*>, finished: Boolean){
this.start(next,null,finished)
}
}
<<: 每日挑战,从Javascript面试题目了解一些你可能忽略的概念 - Day4
>>: OpenStack Neutron 介绍 — OVN vs OVS
1.v-mould写入、渲染 (1) (2) (3) (4) (5) (6) 重点: 1.阵列 与 ...
本篇大纲:Joining Data、绑定 DOM 元素跟资料的方法、data 跟 datum 的比...
我们设定好约束後,也来改变一下元件的外貌吧,这里将以UIButton为例来做个简单说明~此时点选元件...
课程进度 第十六周练习题花蛮多时间的,主要卡关的地方是对 jest 的使用不熟悉,浏览器上的 ES6...
既然 Linux ARM 可以开发网站,那 Windows ARM 可以当日常的网站开发吗? 我们这...