首页 > 其他分享 >Android-Kotlin-Activity直接的跳转

Android-Kotlin-Activity直接的跳转

时间:2023-06-19 15:04:48浏览次数:40  
标签:Kotlin 跳转 override Activity fun import Android super android


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

Android-Kotlin-Activity直接的跳转_ide

2.选中Kotlin:

Android-Kotlin-Activity直接的跳转_android_02


3.创建Kotlin的Activity完成:

Android-Kotlin-Activity直接的跳转_Kotlin_03



第一个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)


标签:Kotlin,跳转,override,Activity,fun,import,Android,super,android
From: https://blog.51cto.com/u_16163510/6513766

相关文章

  • Android-kotlin-空值处理&字符串比较&常量
    空值处理:【案例一:】1.Kotlin对控制处理很严格,默认就不能写null,否则编译都不通过:描述Car汽车对象:packagecn.kotlin.kotlin_base01/***描述Car汽车对象**参数一:车名,参数二:车的价值*/classCar(varcarName:String,varcarMoney:Double){/***得......
  • Android-kotlin学习笔记(一)配置/入门
    1.配置Kotlin开发插件,点击File菜单,选择Settings,选择Plugins,会显示扩展的插件;2.然后选择Browserepositories…,搜索栏目中搜索Kotlin即可,点击Install就行,大小50多M,速度很快的然后安装完成后,重启AndroidStudio3.在项目的build.gradle中配置Kotlin版本:ext.kotlin_version='1.2.......
  • Android-Kotlin-GET/SET 方法的使用
    上篇博客我们讲了kotlin的继承,今天接着往下讲解kotlin的get/set方法的使用。Student.ktpackagecn.kotlin.kotlin_oop04openclassPerson{openvarpersonName:String="我是父类的名字"}classStudent:Person(){/***name用private私有修饰,外界其他地方......
  • 【随笔二】Android-kotlin-实现简单计算器功能
    上一篇博客Android-kotlin-配置/入门配置好了AndroidStudioKotlin的环境;今天做一个简单的demo实战—实现一个简单的计算器功能1.选择包名,然后右键:2.选择Class类型,会有class:3.创建CounterClass:packagecn.kotlin.kotlin_oop02/***加减乘除计算的calss*varnumber1:Double......
  • Android-kotlin 抽象类与多态的表现
    上篇博文讲了kotlin语言中get/set方法的使用,今天来讲一下kotlin中的抽象类与多态的表现选择包名,然后右键:选择Class类型,会有class:选择File类型,不会自动有class:目录结构:定义描述抽象类Person人类:packagecn.kotlin.kotlin_oop05/***抽象类用abstract修饰*描述:人类的抽象......
  • 鹅厂资深Android开发带你了解面试重点Framework,掌握更加核心的技术
    前言今天,想跟大家聊聊,Framework开发的那些事。系统应用开发,现在来说,已经开始脱离系统,单独拿出来开发,系统定制接口,已提供给应用调用,用来增强功能。原生的桌面,拨号,设置,已经没法做出差异化优势,因此都费尽心机,来进行应用深度开发。对于之前维护系统应用模块的人来讲,修修补补,真的没有什......
  • ANDROID-KOTLIN-代理和委托
    代理和委托,在生活中的案例有很多:例如:小明工作很忙,需要办理银行卡,此时他委托给>>小李去给自己办理银行卡,小李来到办理中心把自己的身份证/小李的身份证,给办理人员,说是小明委托我,给他办理银行卡的在Kotlin的代理委托是使用by关键字来处理定义描述寻找的接口,规范寻找的功能的标准:pack......
  • 2022年Android大厂面试题(面经)总结(小红书、快手、爱奇艺、微信、抖音.....)
    小红书Android一面Java篇静态变量和实例变量的区别静态变量有static关键字修饰静态变量不属于某个实例对象,而是属于类,也叫类变量,只要程序加载了类的字节码,不用创建任何实例对象就会被分配空间,就可以被使用,也就是说,你创建了多个对象,他们共用了一个静态变量,而实例对象是属于自己的独......
  • Android AccessibilityService 事件分发原理
    在了解了无障碍服务基础使用之后,我们来探究一下AccessibilityService的事件接收方法回调的时机和它深层次的实现逻辑。AccessibilityService监听事件的调用逻辑AccessibilityService有很多用来接收外部调用事件变化的方法,这些方法封装在内部接口Callbacks中:publicinterface......
  • Android面试「25K—30K」的坑位,面试官喜欢问些什么?
    前言掉帧监控,函数插桩,慢函数检测,ANR监控,启动监控……这些让Android开发者们头皮发麻的内容,如今可都成为了大厂中面试必问题目:用什么机制去监控,在哪里函数插桩,反射调用用哪个类哪个方法和哪个属性?这些问题恐怕是会难倒一大批向高阶进军的开发者。目前大公司的app开发都要基于模块化......