• Android-Kotlin-Activity直接的跳转


    1.选中应用包名packageName,右键:

    2.选中Kotlin:

    3.创建Kotlin的Activity完成:



    第一个Activity,MainActivity

    package cn.kotlin
    
    import android.content.Intent
    import android.support.v7.app.AppCompatActivity
    import android.os.Bundle
    import android.util.Log
    import android.view.View
    
    class MainActivity : AppCompatActivity() {
    
        // 定义tab变量为String类型的,注意:此String是Kotlin的
        var tag:String = "MainActivity"
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
    
            // setContentView(R.layout.activity_main)
    
           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()")
        }
    
        /**
         * 跳转第二个Activity
         */
        fun startNextActivity() {
            var intent:Intent = Intent()
            intent.setClass(this@MainActivity, Main2Activity::class.java)
            startActivity(intent)
        }
    
        /**
         * 跳转第二个Activity
         */
        fun startNextActivity(v: View) {
            var intent:Intent = Intent()
            intent.setClass(this@MainActivity, Main2Activity::class.java)
            startActivity(intent)
        }
    
    }

    第二个Activity,Main2Activity:

    package cn.kotlin
    
    import android.support.v7.app.AppCompatActivity
    import android.os.Bundle
    import android.view.View
    import android.widget.Toast
    
    class Main2Activity : AppCompatActivity() {
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            // setContentView(R.layout.activity_main2)
        }
    
        override fun onResume() {
            super.onResume()
    
            Toast.makeText(this@Main2Activity, "第二个Activity", Toast.LENGTH_LONG).show()
        }
    
        fun back(view: View) {
            finish()
        }
    }

    以上Activity总结:

      1.所有的Activity周期方法,都是使用 override fun 方法() {} 方式写的;

      2.定义变量  var tag:String = "MainActivity"

      3.此线程是使用Kotlin的,所有没有new:

         Thread(){
                kotlin.run {
    
                    Thread.sleep(5000)
    
                    runOnUiThread(Runnable {
                        run {
                            startNextActivity()
                        }
                    })
                }
            }.start()

      4.在Kotlin的Activity或组件,this使用方式是:this@MainActivity

      5.Activity的跳转:this@MainActivity, Main2Activity::class.java

    var intent:Intent = Intent()
    intent.setClass(this@MainActivity, Main2Activity::class.java)

     

  • 相关阅读:
    Junit单元测试
    Stream流方法引用
    Stream流思想和常用方法
    算法
    函数式接口
    Zookeeper理解
    GreenPlum学习之(Share-nothing)架构
    链表反转问题
    KMP算法的java实现
    KMP详解之二
  • 原文地址:https://www.cnblogs.com/android-deli/p/10315169.html
Copyright © 2020-2023  润新知