博客
关于我
Android-Kotlin-Activity直接的跳转
阅读量:103 次
发布时间:2019-02-26

本文共 2705 字,大约阅读时间需要 9 分钟。

Kotlin Activity 开发实践指南

创建第一个 Activity:MainActivity

代码实现

package cn.kotlinimport android.content.Intentimport android.support.v7.app.AppCompatActivityimport android.os.Bundleimport android.util.Logimport android.view.Viewclass MainActivity : AppCompatActivity() {    var tag: String = "MainActivity"        override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        Log.d("@@@", "${tag}--onCreate()")    }    override fun onStart() {        super.onStart()        Log.d("@@@", "${tag}--onStart()")    }    override fun onResume() {        super.onResume()        Log.d("@@@", "${tag}--onResume()")        Thread() {            kotlin.run {                Thread.sleep(5000)                runOnUiThread(Runnable {                     run {                         startNextActivity()                     }                 })            }        }.start()    }    override fun onPause() {        super.onPause()        Log.d("@@@", "${tag}--onPause()")    }    override fun onStop() {        super.onStop()        Log.d("@@@", "${tag}--onStop()")    }    override fun onDestroy() {        super.onDestroy()        Log.d("@@@", "${tag}--onDestroy()")    }    fun startNextActivity() {        val intent: Intent = Intent()        intent.setClass(this@MainActivity, Main2Activity::class.java)        startActivity(intent)    }    fun startNextActivity(v: View) {        val intent: Intent = Intent()        intent.setClass(this@MainActivity, Main2Activity::class.java)        startActivity(intent)    }}

创建第二个 Activity:Main2Activity

代码实现

package cn.kotlinimport android.support.v7.app.AppCompatActivityimport android.os.Bundleimport android.view.Viewimport android.widget.Toastclass Main2Activity : AppCompatActivity() {    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)    }    override fun onResume() {        super.onResume()        Toast.makeText(this@Main2Activity, "第二个 Activity", Toast.LENGTH_LONG).show()    }    fun back(view: View) {        finish()    }}

Activity 开发总结

  • Activity生命周期方法

    • 所有 Activity 周期方法都使用 override fun 方式书写
    • 各个生命周期方法(如 onCreateonStart 等)通过 override 关键字扩展默认实现
  • 变量定义

    • 使用 var 定义变量 tag 为 String 类型,注意:此 String 是 Kotlin 的
  • 线程操作

    • 使用 Kotlin 的 kotlin.run 方法进行线程操作
    • 没有使用 new 关键字
    • 通过 runOnUiThread 确保 UI 操作在主线程进行
  • this 使用方式

    • 在 Kotlin 的 Activity 或组件中,this 使用方式为:this@MainActivity
  • Activity 跳转

    • 使用 this@MainActivityMain2Activity::class.java 实现 Activity 跳转
    • 代码示例:val intent: Intent = Intent().setClass(this@MainActivity, Main2Activity::class.java).startActivity()
  • Activity 内部方法

    • 定义 startNextActivity 方法用于跳转到下一个 Activity
    • 方法可以接受 View 参数,但主要功能保持一致
  • 通过以上步骤,可以轻松创建并切换多个 Activity,在 Kotlin 开发中灵活运用 Activity 生命周期和跳转功能。

    转载地址:http://islk.baihongyu.com/

    你可能感兴趣的文章
    os.removexattr 的 Python 文档——‘*‘(星号)参数是什么意思?
    查看>>
    os.system 在 Python 中不起作用
    查看>>
    OS2ATC2017:阿里研究员林昊畅谈操作系统创新与挑战
    查看>>
    OSCACHE介绍
    查看>>
    SQL--合计函数(Aggregate functions):avg,count,first,last,max,min,sum
    查看>>
    OSChina 周五乱弹 ——吹牛扯淡的耽误你们学习进步了
    查看>>
    SQL--mysql索引
    查看>>
    OSChina 周四乱弹 ——程序员为啥要买苹果手机啊?
    查看>>
    OSChina 周日乱弹 —— 2014 年各种奇葩评论集合
    查看>>
    OSChina 技术周刊第十期,每周技术抢先看!
    查看>>
    OSError: no library called “cairo-2“ was foundno library called “cairo“ was foundno library called
    查看>>
    OSError: [WinError 193] %1 不是有效的 Win32 应用程序。
    查看>>
    osgearth介绍
    查看>>
    OSGi与Maven、Eclipse PlugIn的区别
    查看>>
    Osgi环境配置
    查看>>
    OSG——选取和拖拽
    查看>>
    OSG中找到特定节点的方法(转)
    查看>>
    OSG学习:C#调用非托管C++方法——C++/CLI
    查看>>
    OSG学习:OSG组成(三)——组成模块(续):OSG核心库中的一些类和方法
    查看>>
    OSG学习:OSG组成(二)——渲染状态和纹理映射
    查看>>