我有一个选项卡活动和 5 个子活动。
选项卡活动是启动器活动。
当使用 Activity 1 开始时tabHost.setCurrentTabByTag(CommonParams.HOME_TAG);
,手机的后退按钮按下会触发 Actvitiy 1 的 OnBackPressed。
但是,当我启动活动 1,然后通过单击第二个选项卡导航到活动 2,然后通过单击第一个选项卡返回到活动 1 时,手机的后退按钮按下不会触发 OnBackPressed()。它使应用程序退出。
我通过以下代码在制表机上加载活动。
intent = new Intent().setClass(this, Activity1.class);
spec = tabHost
.newTabSpec(CommonParams.HOME_TAG)
.setIndicator("Home",
res.getDrawable(R.drawable.ic_tab_home))
.setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, Activity2.class);
spec = tabHost
.newTabSpec(CommonParams.PAGE2_TAG)
.setIndicator("Page2",
res.getDrawable(R.drawable.ic_tab_page2))
.setContent(intent);
tabHost.addTab(spec);
因此,当使用选项卡从 Home 导航到 Page2 然后返回 Home 时,Activity 1 不会重新开始。它被恢复。我想, OnBackPressed() 不会因恢复活动而被解雇。
活动是否失去了焦点?如果是这样,如何避免活动失去焦点,或者如何将焦点放在活动 OnResume() 上?
有人可以帮我找出 OnBackPressed 没有触发的原因以及如何使其工作。
提前致谢