activity中fragment 返回键不退出_Fragment 使用详解
时间: 2024-05-12 22:13:50 浏览: 246
在Activity中使用Fragment,当Fragment被添加到Activity中时,按下返回键默认会退出Activity。如果需要按下返回键只是退出Fragment,而不是退出Activity,可以重写Activity的onBackPressed()方法。
具体实现步骤如下:
1. 在Activity中重写onBackPressed()方法。
```
@Override
public void onBackPressed() {
FragmentManager fragmentManager = getSupportFragmentManager();
int backStackEntryCount = fragmentManager.getBackStackEntryCount();
if (backStackEntryCount == 0) {
super.onBackPressed();
} else {
fragmentManager.popBackStack();
}
}
```
2. 在Fragment中添加到回退栈。
```
getSupportFragmentManager().beginTransaction()
.addToBackStack(null)
.replace(R.id.container, new MyFragment())
.commit();
```
这样,当Fragment被添加到Activity中时,按下返回键只是退出Fragment,而不是退出Activity。如果回退栈中没有Fragment,则退出Activity。
阅读全文