如何在不恢复的情况下从backstack弹出片段?

时间:2011-11-03 05:35:21

标签: android android-fragments

如何在不恢复的情况下从backstack弹出片段?我只想从后台删除,我不想显示它。

2 个答案:

答案 0 :(得分:0)

如果您不使用FragmentTransaction的方法
public abstract FragmentTransaction addToBackStack (String name)
将其添加到后台堆栈。没有必要将其删除。

答案 1 :(得分:0)

这是架构问题。

1)假设我们有2个控制器(片段/活动):控制器A和控制器B. 它们都连接到某个Model的一个实例(你可以在Application-heir类中使用绑定服务,Singleton模式或init模型,并为它做一个getter)。 当控制器B中发生一些有趣的事情时,他会通知模型,然后模型调用controllerA.finish()/ controllerA.remove()。 当然,我总是尝试尽可能好地实现这个解决方案,但是有一个主要的想法。

2)在另一种情况下,我在startActivity(intent)之后立即调用finish();

3)我也可以写:startActivityForResult(intent,requestCode),在完成第二个活动方法之后调用onActivityResult(requestCode,responseCode,intent) - 如果requestCode相等,我就完成了活动。