无法正确关闭FragmentActivity

时间:2014-12-02 13:40:39

标签: android android-fragments

我在我的应用程序中面临一个奇怪的问题。从一个片段,如果我按下一个按钮,我开始新的FragmentActivity包含一个片段和一些其他元素,但如果我会回到上一个Activity(包含启动当前活动的片段),我需要按两次按钮。 第一次片段活动看起来很接近,但它又重新打开了。我一如既往地关闭FragmentActivity:

@Override
public void onBackPressed() {
    super.onBackPressed();
            finish();
} 

那怎么了?

1 个答案:

答案 0 :(得分:0)

  

我开始新的FragmentActivity包含一个片段和一些其他元素

你最有可能将FragmentTransaction添加到backstack,这就是为什么它正在消耗后退按钮。您根本不需要覆盖onBackPressed()。相反,请查看将Fragment添加到新FragmentActivity的代码,并确保您未在​​初始事务中调用.addToBackStack()。例如,通常在onCreate()中,您可以执行以下操作:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if (savedInstanceState == null) {
        getSupportFragmentManager().beginTransaction()
                .add(R.id.your_container_id, new YourInitialFragment())
                .commit();
    }
}