Activity的跳转及返回值的四种方法:
在Android应用程序中Activity作为最基础的组件, Activity之间的跳转是非常常见的操作, 为了实现跳转我们通常要使用startActivity、startActivityForResult、setResult等方法。
1. startActivity(Intent intent)跳转
调用startActivity(Intent intent)方法可以实现跳转。该方法的参数intent为跳转到目标Activity的Intent对象。下面是一个示例:
```
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);
```
在该示例中,我们创建了一个Intent对象,指定了目标Activity(SecondActivity),并使用startActivity(intent)方法启动了目标Activity。
2. startActivityForResult(Intent intent, int requestCode)跳转
调用startActivityForResult(Intent intent, int requestCode)方法也可以实现跳转。该方法的参数intent为跳转到目标Activity的Intent对象,requestCode为请求代码,用于标识返回结果的来源。下面是一个示例:
```
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivityForResult(intent, 1);
```
在该示例中,我们创建了一个Intent对象,指定了目标Activity(SecondActivity),并使用startActivityForResult(intent, 1)方法启动了目标Activity,并指定请求代码为1。
当目标Activity关闭时,会回调当前Activity的onActivityResult(int requestCode, int resultCode, Intent data)方法,我们可以在该方法中获取目标Activity返回的结果。
3. setResult(int resultCode, Intent data)设置返回值
在目标Activity中,调用setResult(int resultCode, Intent data)方法可以设置返回值。resultCode表示返回结果的状态,data为包含返回结果的Intent对象。下面是一个示例:
```
Intent intent = new Intent();
intent.putExtra("name", "Tom");
setResult(RESULT_OK, intent);
finish();
```
在该示例中,我们创建了一个Intent对象,设置了返回值为"Tom",并使用setResult(RESULT_OK, intent)方法设置了resultCode为RESULT_OK,data为我们创建的Intent对象。最后,我们调用了finish()方法关闭目标Activity。
4. onActivityResult(int requestCode, int resultCode, Intent data)获取返回值
在当前Activity中,我们可以通过重写onActivityResult(int requestCode, int resultCode, Intent data)方法获取目标Activity返回的结果。requestCode为在启动目标Activity时指定的请求代码,resultCode为目标Activity返回的状态码,data为包含返回结果的Intent对象。下面是一个示例:
```
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK && requestCode == 1) {
String name = data.getStringExtra("name");
Toast.makeText(MainActivity.this, "返回值:" + name, Toast.LENGTH_LONG).show();
}
}
```
在该示例中,我们重写了onActivityResult(int requestCode, int resultCode, Intent data)方法,判断返回结果的状态和请求代码,如果requestCode为1且resultCode为RESULT_OK,我们就可以从data中获取返回值,并使用Toast显示在屏幕上。
总结:
以上就是四种跳转及返回值的方法,通过实际操作和代码演示,我们可以学会如何使用这些方法来实现Activity之间的跳转和数据传递。
壹涵网络我们是一家专注于网站建设、企业营销、网站关键词排名、AI内容生成、新媒体营销和短视频营销等业务的公司。我们拥有一支优秀的团队,专门致力于为客户提供优质的服务。
我们致力于为客户提供一站式的互联网营销服务,帮助客户在激烈的市场竞争中获得更大的优势和发展机会!
发表评论 取消回复