1、两个activity跳转
1.1、通过按钮实现从MainActivity中跳转到DataExchange,btnTestActivity为MainActivity中的按钮id,进行视图绑定后,只要binding加按钮id就可以了。
//视图绑定
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
binding.btnTestActivity.setOnClickListener {
val intent=Intent(this,DataExchange::class.java)
startActivity(intent)
}
}
1.2、activity_main.xml中添加按钮:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/btn_test_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
android:text="test"
app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
2、两个activity进行传值
2.1、主要使用putExtra("key_name","data")方法,第一个参数为键名,第二个参数为键对应的值。顺便提一下,如果想取出Intent对象中的这些值,需要在你的另一个Activity中用getXXXXXExtra方法,注意需要使用对应类型的方法,参数为键名。将1.1中重写的“onCreate”修改下:
binding.btnTestActivity.setOnClickListener {
val intent=Intent(this,DataExchange::class.java)
intent.putExtra("key_name","123456")
startActivity(intent)
}
2.2、另外一个activity重写的“onCreate”添加:
val intent_name = intent.getStringArrayExtra("key_name")
Toast.makeText(this, "data is $intent_name", Toast.LENGTH_LONG).show()
这样当点击按钮,DataExchange页就会弹框显示123456