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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值