在使用ActivityGroup时,可以发现,当我们在每个子Activity中覆写了onBackPressed()方法以期望处理back键在不同tab之间的操作后,实际应用中按下back之后并不会调用子Activity中的onBackPressed()而是直接退出程序,实际上按下back之后程序调用了ActivityGroup Activity中的onBackPressed(),所以我们应该在ActivityGroup Activity中将back事件分发给子Activity处理
解决方法:
在ActivityGroup Activity中添加该方法:
@Override
public void onBackPressed() {
//把后退事件交给子Activity处理
this.getLocalActivityManager().getCurrentActivity().onBackPressed();
}
这样,当 ActivityGroup Activity捕获back事件后就会调用当前界面的子Activity中的onBackPressed()方法,接下来要做的就是根据你app的需求在不同的子Activity中的onBackPressed()方法写不同的事件处理。
参考:
1. http://blog.csdn.net/lfyx1357/article/details/7467194