Android 使用 Intent 实现页面跳转
Android 中的 Intent 是一种机制,允许不同的应用程序组件之间进行交互和通信。Intent 可以理解为信使(意图),它可以协助完成 Android 各个组件之间的通讯。Intent 实现页面之间的跳转是 Android 开发中的一种常见的场景。
在 Android 中,Intent 可以被用来实现页面之间的跳转,包括 startActivity 和 startActivityForResult 两种方式。
1. startActivity 方式
startActivity 方式是使用 Intent 实现页面跳转的一种常见方式。例如,在 FirstActivity 中点击按钮 bt1,使用 Intent 跳转到 SecondActivity 中:
```java
bt1.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivity(intent);
}
});
```
在上面的代码中,我们首先创建了一个 Intent 对象,第一个参数是上下文对象,第二个参数是目标文件(注意是 .class)。然后,我们使用 startActivity 方法来启动 SecondActivity。
2. startActivityForResult 方式
startActivityForResult 方式是使用 Intent 实现页面跳转的一种方式,它可以实现页面之间的跳转,并且可以返回结果代码。例如,在 FirstActivity 中点击按钮 bt2,使用 Intent 跳转到 SecondActivity 中,并返回结果代码:
```java
bt2.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivityForResult(intent, 1);
}
});
```
在上面的代码中,我们首先创建了一个 Intent 对象,第一个参数是上下文对象,第二个参数是目标文件(注意是 .class)。然后,我们使用 startActivityForResult 方法来启动 SecondActivity,並传入一个请求码(requestCode)。
在 SecondActivity 中,我们可以使用 setResult 方法来设置返回结果代码:
```java
public class SecondActivity extends AppCompatActivity {
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_layout);
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent intent = new Intent();
intent.putExtra("result", "返回结果");
setResult(RESULT_OK, intent);
finish();
}
});
}
}
```
在上面的代码中,我们使用 setResult 方法来设置返回结果代码,并将结果数据存储在 Intent 对象中。然后,我们使用 finish 方法来关闭 SecondActivity。
在 FirstActivity 中,我们可以使用 onActivityResult 方法来接收返回结果代码:
```java
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1) {
if (resultCode == RESULT_OK) {
String result = data.getStringExtra("result");
tv.setText("返回结果:" + result);
}
}
}
```
在上面的代码中,我们使用 onActivityResult 方法来接收返回结果代码,并将结果数据显示在 TextView 中。
Intent 是 Android 中的一种机制,允许不同的应用程序组件之间进行交互和通信。Intent 实现页面之间的跳转是 Android 开发中的一种常见的场景,包括 startActivity 和 startActivityForResult 两种方式。
- 1
- 2
前往页