片段和onBackPressed函数

时间:2014-02-01 08:19:29

标签: android android-fragments

我正在使用导航抽屉和片段来扩充主要活动。 但是,当我按下后退按钮时,它会关闭应用程序,这在片段设置中很明显。

我想要的是,当用户点击后退按钮时,如果它们当前不是视图,则会转到主页片段,但如果它们在主页上,我希望应用关闭。

如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

覆盖后退按钮将是一个非常糟糕的想法,因为它会伤害更多而不是帮助。

如果你想添加一个不会被替换的片段(你的初始“HomePageFragment”),只需添加这一行:

  transaction.addToBackStack(null);

这会给你类似的东西:

 final FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
    transaction.replace(R.id.fragment, fragment, TAG_FRAGMENT);
    transaction.addToBackStack(null);
    transaction.commit();

如果添加其他一些片段,请不要将它们添加到后栈。

答案 1 :(得分:-1)

您应该覆盖活动类中的onBackPressed方法并使用它来确定是否需要切换回主页片段或致电super.onBackPressed()