android studio 界面跳转
时间: 2023-04-21 19:05:48 浏览: 116
在 Android Studio 中,界面跳转可以通过 Intent 实现。Intent 是 Android 中用于在不同组件之间传递消息的一种机制。通过 Intent,我们可以启动一个新的 Activity,或者启动一个 Service,或者发送一个广播等。
在 Activity 中,我们可以通过 startActivity() 方法启动一个新的 Activity。例如:
```
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
```
其中,this 表示当前 Activity 的上下文,SecondActivity.class 表示要启动的目标 Activity。
如果需要传递参数,可以通过 Intent 的 putExtra() 方法实现。例如:
```
Intent intent = new Intent(this, SecondActivity.class);
intent.putExtra("name", "张三");
intent.putExtra("age", 18);
startActivity(intent);
```
在目标 Activity 中,可以通过 getIntent() 方法获取传递过来的 Intent,然后通过 getXXXExtra() 方法获取参数值。例如:
```
Intent intent = getIntent();
String name = intent.getStringExtra("name");
int age = intent.getIntExtra("age", );
```
其中,getStringExtra() 方法用于获取字符串类型的参数值,getIntExtra() 方法用于获取整数类型的参数值。如果参数不存在,可以指定一个默认值。
除了 startActivity() 方法外,还有 startActivityForResult() 方法,可以启动一个新的 Activity,并且可以获取目标 Activity 返回的结果。例如:
```
Intent intent = new Intent(this, SecondActivity.class);
startActivityForResult(intent, 1);
```
其中,1 表示请求码,用于标识这个请求。在目标 Activity 中,可以通过 setResult() 方法设置返回结果。例如:
```
Intent intent = new Intent();
intent.putExtra("result", "成功");
setResult(RESULT_OK, intent);
finish();
```
在源 Activity 中,可以通过 onActivityResult() 方法获取返回结果。例如:
```
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1 && resultCode == RESULT_OK) {
String result = data.getStringExtra("result");
Toast.makeText(this, result, Toast.LENGTH_SHORT).show();
}
}
```
其中,requestCode 表示请求码,resultCode 表示返回码,data 表示返回的 Intent。如果返回码为 RESULT_OK,表示操作成功,否则表示操作失败。
阅读全文