Android中,Activity是一种基本的组件,用于展示应用程序的用户界面。在应用程序中,经常需要从当前的Activity跳转到另一个Activity,实现不同界面的展示与操作。本篇文章将详细介绍如何在Android中实现Activity的跳转,包括使用Intent实现Activity跳转、传递数据等常用操作方法,并提供案例说明。
一、使用Intent实现Activity跳转
Intent是Android系统中用于传递信息(包括跳转信息)的对象,使用Intent可以在Activity之间进行跳转。下面介绍具体的操作方法:
1. 创建Intent对象
在当前Activity中,我们需要创建一个Intent对象来指定需要跳转的Activity,使用Intent的构造函数完成:
```
Intent intent = new Intent(this, TargetActivity.class);
```
其中,第一个参数是当前的Context对象(Activity继承于Context),第二个参数是要启动的Activity。
2. 启动Activity
Intent对象创建完成后,我们需要使用startActivity方法启动目标Activity:
```
startActivity(intent);
```
3. 添加额外的数据
除了简单的Activity跳转,我们还可能需要在Activity之间传递一些数据。这时可以使用Intent的putExtra方法,在Intent对象中添加要传递的数据:
```
intent.putExtra("key", value);
```
其中,key是一个字符串作为数据的标识,value可以是任意类型的数据。
4. 获取传递的数据
在目标Activity中,我们可以利用getIntent方法获取传递过来的Intent对象,并通过该对象获取传递的数据:
```
Intent intent = getIntent();
String value = intent.getStringExtra("key");
```
这样就完成了Activity之间的数据传递操作。
二、常用的Activity跳转方式
除了上述使用Intent实现Activity跳转的方式,Android还提供了多种Activity跳转方式,下面列举几种常用的方式:
1. startActivityForResults方法
该方法用于启动一个需要返回结果的Activity。在当前Activity中调用该方法启动目标Activity,当目标Activity结束后,会返回一个结果给当前Activity:
```
Intent intent = new Intent(this, TargetActivity.class);
startActivityForResult(intent, requestCode);
```
其中,requestCode是一个int类型的请求码,用于区分返回的结果。
在目标Activity中,当需要返回结果时,可以使用setResult方法将结果设置并返回给当前Activity:
```
Intent intent = new Intent();
intent.putExtra("key", value);
setResult(RESULT_OK, intent);
finish();
```
这样,当目标Activity结束时,将会返回一个RESULT_OK的结果码和包含键值对的Intent对象给当前Activity,可以在当前Activity的onActivityResult方法中获取该结果。
2. 启动系统内置Activity
Android提供了一些系统内置的Activity,如发送短信、打电话、拍照等,我们可以通过Intent来启动这些Activity:
发送短信:
```
Uri uri = Uri.parse("smsto:10086");
Intent intent = new Intent(Intent.ACTION_SENDTO, uri);
intent.putExtra("sms_body", "hello");
startActivity(intent);
```
打电话:
```
Uri uri = Uri.parse("tel:10086");
Intent intent = new Intent(Intent.ACTION_DIAL, uri);
startActivity(intent);
```
拍照:
```
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivity(intent);
```
三、案例说明
下面通过一个简单的案例来说明在Android中实现Activity跳转的具体操作流程。
要实现的功能:在当前Activity中输入一个文本,点击button按钮后跳转到目标Activity并将文本传递过去,在目标Activity中展示传递过来的文本。
1. 创建当前Activity
在当前Activity的xml布局文件中添加一个EditText和一个Button:
```
android:layout_width="match_parent" android:layout_height="wrap_content"/>
发表评论 取消回复