防止返回按钮关闭子活动的帮助

4

我有一个主要的活动。它的主要目的是处理选项卡菜单。如果用户点击一个选项卡,它会加载另一个活动作为子活动,仍然显示选项卡菜单。我使用Intent来实现这个功能:

setContent(new Intent(this,B.class))

这个子活动也有一个onclick函数。如果用户点击其中一个链接,它将使用setContentView命令加载xml布局文件:

setContentView(R.layout.B1);

现在,当 xml 文件被加载时,按下返回按钮将关闭整个应用程序。是否有一种方法可以防止这种情况发生,比如返回到子活动或主活动?感谢您的所有帮助。
2个回答

7

您需要在您的活动或子活动中重写onBackPressed方法:

@Override
public void onBackPressed() {       
    //TODO Do your task here
}

实际上,为了防止活动关闭,您不应该调用super.onBackPressed() - igagis
@igagis 感谢指出错误。8年来没注意到 :) - Vikas Patidar

6
在您的子活动中,您应该覆盖以下内容:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)  {

       if (keyCode == KeyEvent.KEYCODE_BACK)  //Override Keyback to do nothing in this case.
       {
           return true;
       }
       return super.onKeyDown(keyCode, event);  //-->All others key will work as usual
   }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接