FragmentTransaction使用
时间: 2023-05-26 21:07:39 浏览: 89
FragmentTransaction
FragmentTransaction 是用来管理 Fragment 事务的类,通过它可以执行添加、删除、替换、隐藏、显示等 Fragment 操作。下面是几个常用的操作:
1. 添加 Fragment:
```java
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.add(R.id.container, new MyFragment());
transaction.commit();
```
其中 `R.id.container` 指向布局文件中的一个容器,用于放置 Fragment。
2. 替换 Fragment:
```java
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.container, new MyFragment());
transaction.commit();
```
这里使用 `replace` 方法将 `R.id.container` 中的 Fragment 替换为 `MyFragment`。
3. 显示 Fragment:
```java
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.show(myFragment);
transaction.commit();
```
这里通过 `show` 方法显示 `myFragment`。
4. 隐藏 Fragment:
```java
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.hide(myFragment);
transaction.commit();
```
这里通过 `hide` 方法隐藏 `myFragment`。
在进行 FragmentTransaction 操作时,一般需要在 `commit` 之前调用 `addToBackStack(null)` 方法将事务添加到返回栈中,便于进行返回操作。
```java
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.container, new MyFragment());
transaction.addToBackStack(null);
transaction.commit();
```
阅读全文