美文网首页
Kotlin笔记(39) — Activity跳转与传值

Kotlin笔记(39) — Activity跳转与传值

作者: 奔跑的佩恩 | 来源:发表于2021-01-24 10:08 被阅读0次

前言

Android开发过程中,我们经常灰涉及到Activity界面跳转与传值的问题。那么今天就让我们来学习下KotlinActivity是如何跳转与传值的。

今天涉及知识:

  1. 界面跳转与传值常规写法
    1.1 无参界面跳转
    1.2 传值界面跳转
  2. 利用anko库实现界面的跳转与传值
    2.1 引入anko库关于跳转传值的依赖
    2.2 无参界面跳转
    2.3 传值界面跳转
  3. Activity界面代码
  4. 效果图

先来波效果图


效果图.gif

一. 界面跳转与传值常规写法

1.1 无参界面跳转

kotlin中,当我们要进行一个无参跳转界面的话,我们可以这样:

               //跳转界面
               var intent:Intent=Intent(this@MainActivity,TempActivity::class.java)
               startActivity(intent)

这里需要注意的是,在初始化Intent时,当前界面的context要写成this@当前Activity名,我示例中当前界面为MainActivity,则应该写成this@MainActivity,然后要跳转的界面为TempActivity,则第二个参数要写成TempActivity::class.java,最后再调yong startActivity(intent)
这样就完成了一次无参界面的跳转。

1.2 传值界面跳转

若跳转界面涉及到传值的话,我们在第一个界面中可以像下面这样:

        //常规含参跳转界面
        var intent: Intent = Intent(this@MainActivity, TempActivity::class.java)
        intent.putExtra("name", "常规传参")
        intent.putExtra("age", 11)
        startActivity(intent)

然后在下一界面接收传值:

        //接收传值
        var bundle:Bundle?=intent.extras
        if(bundle!=null){
            var name:String?=bundle!!.getString("name")
            var age:Int=bundle!!.getInt("age")

            LogUtil.i("====name=${name}  age=${age}")
            toast("======收到传值:name=${name}  age=${age}")
        }else{
            toast("======无参跳转====")
        }

二.利用 anko 库实现界面的跳转与传值

2.1 引入anko库关于跳转传值的依赖

anko库中有简化传值代码的库,则我们需要在app_modulebuild.gradle中添加如下依赖:

相关文章

网友评论

      本文标题:Kotlin笔记(39) — Activity跳转与传值

      本文链接:https://www.haomeiwen.com/subject/cdhdzktx.html