界面之间的跳转
intent.putExtra("title","tom") 输入数据
intent.getStringExtra(“title”) 接收数据
利用bundle 可以把多个数据封装进一个bundle
新建一个Bundle类的对象bundle
bundle.putString("name","jack")
用getBundleExtra()取出
requestCode:
a.findViewById() 不建议使用 冗余
val phone_btn = findViewById(R.id.phone)
b.kotlin中使用extensions插件 弃用
build.gradle中配置
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-android-extensions'
}
c.使用ViewBinding
//LayoutInflater 布局解析器 用于解析xml布局文件
val binding = ActivityMainBinding.inflate(layoutInflater)
binding.phone
2)实现点击事件的方式
a. 定义一个类实现View.OnClickListener接口
class testClass: View.OnClickListener{
override fun onClick(v: View?) {
Log.v("pxd","按钮被点击了")
}
}
val tt = testClass()
binding.phone.setOnClickListener(tt)
b.让当前这个类事件View.OnClickListener接口,并实现onClick方法
class MainActivity : AppCompatActivity(),View.OnClickListener{
override fun onCreate(){
...
binding.phone.setOnClickListener(this)
}
override fun onClick(v: View?) {
Log.v("pxd","按钮被点击了")
}
}
c.使用匿名类的匿名对象
binding.phone.setOnClickListener(object:View.OnClickListener{
override fun onClick(v: View?) {
}
})
d.使用Lambda表达式
binding.phone.setOnClickListener({ v:View? ->
})
binding.phone.setOnClickListener({
})
//最终版本
binding.phone.setOnClickListener{
}
如何将自己的页面提供给外部使用
action:
a)支持跳转的页面 设置
b)需要跳转的页面使用对应的action来启动
如果多个程序的页面都设置了相同的action 系统会自动列出所有程序供选择
应用间跳转如何传递参数
a)
b)使用startActivityForResult()实现跳转