我有TabActivity根据选择的标签显示其他Activities作为内容。我想要做的是从'父'活动尝试捕获后退按键,但是onKeyDown()和onBackPressed()都没有在父母中调用...它由'孩子'处理活动。有没有办法让它传递给'父'活动?
答案 0 :(得分:7)
为什么不在子活动中使用,
@Override
public void onBackPressed () {
this.getParent().onBackPressed();
}
答案 1 :(得分:2)
您可以在TabActivity和他的孩子之间建立一个沟通程序。
我在TabActivity中创建了一个静态Handler,它在TabActivity的onCreate中初始化。
然后我创建了一个静态getHandler()方法(在TabActivity中)。
现在,为您的孩子提供问题的片段是:
@Override
public void onBackPressed () {
MyTabActivity.getHandler().sendEmptyMessage(MyTabActivity.BACK_PRESSED);
}
答案 2 :(得分:2)
我也遇到过同样的问题。我用这种方式解决了这个问题:
@Override
public boolean dispatchKeyEvent(KeyEvent event)
{
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK)
{
//things u want to do when back key pressed
}
return super.dispatchKeyEvent(event);
}