Android学习笔记10

今天来用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

Vue3 ( JsES6、this、指令、OptionAPI ) -1

1.v-mould写入、渲染 (1) (2) (3) (4) (5) (6) 重点: 1.阵列 与 ...

Day5-D3 资料绑定 Data Binding:data( ) 跟 datum( )

本篇大纲:Joining Data、绑定 DOM 元素跟资料的方法、data 跟 datum 的比...

【从零开始的Swift开发心路历程-Day9】打造美观的App版面!UI属性篇

我们设定好约束後,也来改变一下元件的外貌吧,这里将以UIButton为例来做个简单说明~此时点选元件...

D30 第十七周 (回忆篇)

课程进度 第十六周练习题花蛮多时间的,主要卡关的地方是对 jest 的使用不熟悉,浏览器上的 ES6...

day17_Windows ARM 的网站开发之旅

既然 Linux ARM 可以开发网站,那 Windows ARM 可以当日常的网站开发吗? 我们这...