我正在使用导航抽屉和片段来扩充主要活动。 但是,当我按下后退按钮时,它会关闭应用程序,这在片段设置中很明显。
我想要的是,当用户点击后退按钮时,如果它们当前不是视图,则会转到主页片段,但如果它们在主页上,我希望应用关闭。
如何解决这个问题?
答案 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()
。