Android TabHost - 收回按钮

Phi*_*hil 2 confirm android dialog back android-tabhost

我有一个使用TabHost的Android应用程序,根据所选标签调用其他活动的活动简称为Main.java.我试图覆盖Main.java类中的on back按钮事件,但它似乎没有看到它.我正在尝试显示一个对话框窗口,并与用户确认他们要退出,如果他们单击确定让它完全关闭应用程序(不只是发送到后台),如果他们单击取消,显然它保持打开状态.有关为什么这似乎不起作用的任何建议?

@Override
public void onBackPressed() 
{               
     AlertDialog.Builder alert = new AlertDialog.Builder(getApplicationContext());
     alert.setMessage("Test dialog");
     alert.show();
}
Run Code Online (Sandbox Code Playgroud)

Ven*_*kat 11

事实证明这很简单.将以下代码添加到子选项卡活动:

@Override
public void onBackPressed() {
this.getParent().onBackPressed();   
}
Run Code Online (Sandbox Code Playgroud)

然后在TabActivity中做真正的逻辑:

 @Override
public void onBackPressed() {
// Called by children
 AlertDialog.Builder alert = new AlertDialog.Builder(getApplicationContext());
 alert.setMessage("Test dialog");
 alert.show();
}
Run Code Online (Sandbox Code Playgroud)

否则,孩子将在不通知标签主持人的情况下拦截和使用事件.