【问题标题】:remove a specific fragment transaction from back stack从后台堆栈中删除特定的片段事务
【发布时间】:2018-07-27 15:25:24
【问题描述】:

我有一个片段管理器,其中包含多个片段事务。假设片段管理器中的事务就像 A->B->C->D->E->F->G。有没有一种方法可以让我在后台堆栈 ex frag C 中弹出一个特定的事务。我只想弹出一个事务并将其他事务保留在同一个队列中。

popBackStack() 方法没有涵盖我的情况?

有人遇到过这样的问题吗?

【问题讨论】:

标签: android fragment fragmenttransaction


【解决方案1】:

提交事务时需要使用标签。

FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().add(R.id.mainContainer, fragment, tag).addToBackStack(tag).commit();

然后你就可以用这个标签把它去掉了;

FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.remove(fragmentManager.findFragmentByTag(tag)).commit();

【讨论】:

  • 这段代码删除了片段,但交易仍然存在
猜你喜欢
  • 1970-01-01
  • 2015-09-20
  • 2019-03-20
  • 1970-01-01
  • 1970-01-01
  • 2016-12-15
  • 2019-02-28
  • 1970-01-01
  • 2018-10-29
相关资源
最近更新 更多