从Fragment跳转到某个Activity
时间: 2024-12-22 09:27:12 浏览: 2
在Android中,从Fragment跳转到另一个Activity通常是通过`Activity`的`startActivity()`方法或者`FragmentTransaction`结合`Activity.startActivityForResult()`来完成的。以下是两种常见的方法:
1. **直接启动Activity(无回显)**:
- 在Fragment内部,你可以找到当前Activity的引用,然后调用它的`startActivity()`方法。假设你的Activity是`MyActivity`,并且你想跳转到`NewActivity`:
```java
AppCompatActivity activity = (AppCompatActivity) getActivity(); // 获取当前Fragment所在的Activity
Intent intent = new Intent(activity, NewActivity.class);
activity.startActivity(intent);
```
2. **通过 startActivityForResult() (有回显)**
- 当你需要从Fragment获取新Activity的结果时,可以使用`startActivityForResult()`。这适用于需要用户输入或者返回额外数据的情况:
```java
AppCompatActivity activity = (AppCompatActivity) getActivity();
Intent intent = new Intent(activity, NewActivity.class);
activity.startActivityForResult(intent, REQUEST_CODE); // 设置请求码,例如100
```
在目标Activity完成任务后,调用`setResult()`设置结果,并通过`finish()`结束活动,然后调用`activity.onActivityResult(REQUEST_CODE, resultCode, data)`在源Activity接收结果。
阅读全文