前言
在Android
开发过程中,我们经常灰涉及到Activity
界面跳转与传值的问题。那么今天就让我们来学习下Kotlin
中Activity
是如何跳转与传值的。
今天涉及知识:
- 界面跳转与传值常规写法
1.1 无参界面跳转
1.2 传值界面跳转 - 利用
anko
库实现界面的跳转与传值
2.1 引入anko库关于跳转传值的依赖
2.2 无参界面跳转
2.3 传值界面跳转 - Activity界面代码
- 效果图
先来波效果图

一. 界面跳转与传值常规写法
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_module
的build.gradle
中添加如下依赖:
网友评论