Android 使用AppCompatActivity或FragmentActivity时片段事务不工作

Android 使用AppCompatActivity或FragmentActivity时片段事务不工作,android,android-fragments,android-fragmentactivity,android-appcompat,back-stack,Android,Android Fragments,Android Fragmentactivity,Android Appcompat,Back Stack,我有一个典型的应用程序。一个具有FrameLayout的活动,在此布局中,我希望在片段之间切换。这通常很容易通过以下方式完成: getFragmentManager().beginTransaction() .replace(R.id.ac_container, new FrOverview()) .addToBackStack(null) .commit(); 问题是,即使我使用.addToBac

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

getFragmentManager().beginTransaction()
                .replace(R.id.ac_container, new FrOverview())
                .addToBackStack(null)
                .commit();
问题是,即使我使用
.addToBackStack(null)
(我知道它被添加了,因为堆栈计数增加),当我按back时,我也会退出应用程序。我已经尝试了很多不同的代码,并检查了Stackoverflow上的大多数线程,但我无法让它与代码(方法调用等)一起工作

但是!我可以通过改变活动类的扩展类来让它工作。如果我的类扩展了
活动
,那么它可以正常工作。但是如果我使用
AppCompatActivity
(这反过来扩展了
FragmentActivity
),那么它就会有前面解释过的不良行为

感觉这一定是机器人方面的错误,我并没有对我的知识做任何错事


有人对如何解决这个问题有什么建议吗?i、 e.获取back功能并保留ActionBar

AppCompatActivity
使用
SupportFragmentManager
,您需要
要切换到SupportFragment和SupportFragmentManager,请使用
getSupportedFragmentManager
进行片段事务,并将片段扩展到
android.support.v4.app.fragment
FrOverview()是android.support.v4.app.Fragment类型或android.app.Fragment类型。这需要我从支持库中将
片段更改为
android.support.v4.app.Fragment;)谢谢