我目前有一个 android 应用程序,它流动 A -> B -> C -> D 在活动 1 中启动。
在 D 之后,我启动了活动 2,并运行以下代码以从堆栈中删除所有片段。
List<Fragment> fragments = getSupportFragmentManager().getFragments();
if (fragments != null) {
for (Fragment fragment : fragments) {
getSupportFragmentManager().beginTransaction().remove(fragment).commit();
}
}
我的问题是,当我从活动 1 返回到活动 2 时,当我按下后退键时,片段 C 会动画化地回到屏幕。片段 D 确实删除了,但 A B C 没有。我希望该应用程序在活动 1 的反向按下时关闭。
我在此处附加了删除片段的代码。调试显示fragment
确实会随着每个循环而更改。
谁能建议这里发生了什么?
您可以覆盖背压方法并关闭应用程序,如下所示:
@Override
public void onBackPressed() {
finish(); // finish activity
}