如何在Android Kotlin中实现Activity间的页面跳转?
在Android Kotlin中实现Activity间导航的步骤
1. 确认目标Activity已创建
如果还没创建要跳转的Activity,打开Android Studio,右键点击项目中的包名 → New → Activity → Empty Activity,按照向导完成创建(比如命名为SecondActivity)。Android Studio会自动生成布局文件,并在AndroidManifest.xml中注册该Activity。
2. 编写源Activity的跳转逻辑
假设你的源Activity是MainActivity,可以通过按钮点击触发跳转,代码示例如下:
// MainActivity.kt import android.content.Intent import android.os.Bundle import android.widget.Button import androidx.appcompat.app.AppCompatActivity class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // 获取布局中的按钮控件 val jumpBtn = findViewById<Button>(R.id.jump_to_second_btn) // 设置点击事件 jumpBtn.setOnClickListener { // 创建Intent,指定当前上下文和目标Activity的Class val navigateIntent = Intent(this, SecondActivity::class.java) // 启动目标Activity startActivity(navigateIntent) } } }
3. 可选:跳转时传递数据
如果需要把数据从源Activity带到目标Activity,使用Intent.putExtra()方法:
// 在MainActivity的点击事件中添加数据传递 navigateIntent.putExtra("KEY_USER_NAME", "Alice") navigateIntent.putExtra("KEY_USER_AGE", 22)
在目标ActivitySecondActivity中获取数据:
// SecondActivity.kt import android.os.Bundle import androidx.appcompat.app.AppCompatActivity class SecondActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_second) // 获取传递的字符串数据,第二个参数是默认值(未取到数据时使用) val userName = intent.getStringExtra("KEY_USER_NAME") ?: "Unknown" // 获取整数数据 val userAge = intent.getIntExtra("KEY_USER_AGE", 0) } }
4. 必查:确认Activity已注册
若为手动创建的Activity,需检查AndroidManifest.xml中是否有以下注册代码(自动创建的Activity会默认添加):
<activity android:name=".SecondActivity" android:exported="false" />
内容的提问来源于stack exchange,提问作者Nikhil Singh
相关产品推荐
相关产品推荐

