使用AppCompatActivity或FragmentActivity时,Fragment Transaction无法正常工作

时间:2015-06-03 12:44:20

标签: android android-fragments android-fragmentactivity android-appcompat back-stack

我有一个典型的应用程序。一个具有FrameLayout的活动,在此布局中我想在片段之间切换。这通常可以通过以下方式轻松完成:

getFragmentManager().beginTransaction()
                .replace(R.id.ac_container, new FrOverview())
                .addToBackStack(null)
                .commit();

问题是,即使我使用.addToBackStack(null)(并且我知道它已被添加'导致堆栈数量增加)当我按下时我退出应用程序。我一直在尝试很多不同的代码,并在Stackoverflow上检查大多数线程,但是我无法使用代码(方法调用等)。

但是!我可以通过更改活动类的扩展类来使其工作。如果我的班级延伸Activity,它就可以了。但是,如果我使用AppCompatActivity(反过来扩展FragmentActivity),那么它会有不良行为,如前所述。

这样的感觉必须是Androids部分的错误,我的知识并没有做错。

有没有人对如何解决这个问题有任何建议?即获取后退功能并保留ActionBar!

1 个答案:

答案 0 :(得分:11)

AppCompatActivity使用您需要的SupportFragmentManager 切换到SupportFragment和SupportFragmentManager