Kotlin 一行代码启动Activity

直接上代码吧,只是自己做记录方便以后查阅

/**启动Activity*/
inline fun <reified T : Activity> Context.onStart() {
  startActivity(Intent(this, T::class.java))
}

/**启动Activity*/
inline fun <reified T : Activity> Context.onStart(mKey: String, mBundle: Bundle?) {
  val mIntent = Intent(this, T::class.java)
  mIntent.putExtra(mKey, mBundle)
  startActivity(mIntent)
}

/**启动Activity*/
inline fun <reified T : Activity> Context.onStart(vararg pair: Pair<String, String>?) {
  val mIntent = Intent(this, T::class.java)
  pair?.let {
    pair.forEach {
      mIntent.putExtra(it!!.first, it!!.second)
    }
  }
  startActivity(mIntent)
}

/**启动Activity*/
inline fun <reified T : Activity> Activity.onStart() {
  startActivity(Intent(this, T::class.java))
}

/**启动Activity*/
inline fun <reified T : Activity> Activity.onStart(mKey: String, mBundle: Bundle?) {
  val mIntent = Intent(this, T::class.java)
  mIntent.putExtra(mKey, mBundle)
  startActivity(mIntent)
}

/**启动Activity*/
inline fun <reified T : Activity> Activity.onStart(vararg pair: Pair<String, String>?) {
  val mIntent = Intent(this, T::class.java)
  pair?.let {
    pair.forEach {
      mIntent.putExtra(it!!.first, it!!.second)
    }
  }
  startActivity(mIntent)
}

/**启动Activity*/
inline fun <reified T : Activity> Activity.onStartResult(requestCode: Int) {
  startActivityForResult(Intent(this, T::class.java), requestCode, null)
}

/**启动Activity*/
inline fun <reified T : Activity> Activity.onStartResult(requestCode: Int, mBundle: Bundle?) {
  startActivityForResult(Intent(this, T::class.java), requestCode, mBundle)
}

/**启动Activity*/
inline fun <reified T : Activity> Activity.onStartResult(requestCode: Int, vararg pair: Pair<String, String>) {
  val mIntent = Intent(this, T::class.java)
  val mBundle = Bundle()
  pair?.let {
    pair.forEach {
      mBundle.putString(it!!.first, it!!.second)
    }
  }
  startActivityForResult(mIntent, requestCode, mBundle)
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容