我有一个Android应用程序,它使用了一个滑动菜单库(https://github.com/jfeinstein10/SlidingMenu),但是当我正在弹出backstack中的片段时,我遇到了问题。
我的屏幕布局摘要如下:
[菜单] - [A] - > [A1] - > [A2] - [B] - > [B1] - > [B2]
用户有一个带有2个选项A和B的菜单。片段B1在应用启动时显示,用户可以通过选择B1上显示的项目之一进入片段B2。此时允许用户打开抽屉,选择[A],显示片段A1。在用户选择菜单项时,上面提到的库尝试使用代码fragmentmanager.popBackStackImmediate()清除后栈。
执行此行时,即使我可以看到只有B2位于片段管理器的后台列表中,B1也会被重新创建(我可以看到onCreate / onCreateView / onActivityCreated / viewStateRestored被调用)。 B1显得非常短暂,然后出现A1。
由于我获得了nullpointerexceptions,这偶尔会导致问题,因为在B1中我有时会使用getActivity()但是当B1不可见时,这会解析为null。
我想要发生的是用户能够通过抽屉菜单从B2(或B1)转移到A1,而根本不可见B1。无论如何我可以清除背板而不会弹出碎片吗?
我希望这是有道理的,有人可以请你协助吗?
谢谢,非常感谢!