fragment和activity跳转
时间: 2024-10-16 14:12:53 浏览: 28
在Android开发中,`Fragment` 和 `Activity` 是两个核心组件,它们通常一起工作来构建复杂的应用界面。
`Fragment` 是一种轻量级的 UI 组件,它可以在 `Activity` 中添加、替换或删除,提供了一种模块化的视图管理方式。通过 `FragmentManager`,开发者可以轻松地管理应用内的多个并行显示的内容区域。
当需要从一个 `Fragment` 跳转到另一个 `Fragment` 或者一个全新的 `Activity` 时,主要有以下几种方式:
1. **通过`FragmentTransaction`**:在当前的 `FragmentManager` 上执行一个 `beginTransaction()`,然后添加、替换或者启动一个新的 `Fragment`,最后提交事务。例如:
```java
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.container, new AnotherFragment());
ft.commit();
```
2. **使用`startActivityForResult()`**:如果目标是一个 `Activity`,而不是 `Fragment`,并且需要回传结果给发起的 `Activity`,可以使用这个方法启动活动。完成任务后,新 activity 可以调用 `setResult()` 并 finish() 自身,发起方通过 `onActivityResult()` 接收结果。
3. **使用`Intent`启动`Activity`**:可以直接创建一个 `Intent` 启动新的 `Activity`,这适用于需要传递数据或者启动外部应用的情况。比如:
```java
Intent intent = new Intent(this, NewActivity.class);
startActivity(intent);
```
阅读全文