编程实现Intent的显示跳转。在MainActivity中定义Intent,启动SeconActivity,能够获取SecondActivity的返回值
时间: 2024-03-13 07:43:17 浏览: 86
好的,我可以帮你解答这个问题。
在MainActivity中定义Intent并启动SecondActivity的代码如下所示:
```java
// 定义Intent
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
// 启动SecondActivity,并等待返回结果
startActivityForResult(intent, requestCode);
```
其中,`MainActivity.this`表示当前Activity的上下文,`SecondActivity.class`表示要启动的Activity的类名。
`startActivityForResult()`方法表示启动一个Activity,并等待该Activity返回结果。其中,`requestCode`表示请求码,用于标识该请求,可以在回调方法中用来区分不同的请求。
在SecondActivity中设置返回结果并结束Activity的代码如下所示:
```java
// 设置返回结果
Intent intent = new Intent();
intent.putExtra("result", result);
// 设置返回码
setResult(Activity.RESULT_OK, intent);
// 结束Activity
finish();
```
其中,`result`表示要返回的结果数据,`Activity.RESULT_OK`表示请求成功的返回码。
最后,在MainActivity中重写`onActivityResult()`方法,获取SecondActivity返回的结果数据,代码如下所示:
```java
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == requestCode && resultCode == Activity.RESULT_OK && data != null) {
// 获取返回结果
String result = data.getStringExtra("result");
// 处理返回结果
}
}
```
其中,`requestCode`和启动Activity时传入的请求码一致,`resultCode`表示返回结果的状态码,`data`表示返回的结果数据。在这个方法中,你可以根据返回结果的状态码和数据来进行相应的处理。
阅读全文