【发布时间】:2018-04-14 07:57:03
【问题描述】:
我正在重写 onBackPressed 函数来更改我正在开发的应用程序的后退键的行为。
如果 FragmentTransaction 包含带有特定标签 qFrag 的片段,那么我希望它从视图中为片段设置动画。
但是,在我删除片段后,它似乎仍然存在。因此,它永远不会达到我的 if 语句的 else 条件。
@Override
public void onBackPressed() {
// After pressing the back key a second time, questionFrag still has a value.
Fragment questionFrag = getSupportFragmentManager().findFragmentByTag("qFrag");
// If question fragment in the fragment manager
if (questionFrag != null) {
getSupportFragmentManager()
.beginTransaction()
.setCustomAnimations(R.anim.slide_up, R.anim.slide_down)
.replace(R.id.main_menu_content_frame_layout, new Fragment(), "temp")
.remove(questionFrag)
.commit();
} else {
finish();
}
}
有人可以建议我如何从事务管理器中适当地删除片段吗?
【问题讨论】:
标签: android fragment fragmentmanager