我遇到了一个讨厌的问题。我有两个标签主机 ... 标签主机A 和标签主机B 。每个标签主机都有三个标签(我们称之为A1,B1,A2,B2等)。 标签主机B从活动A2 启动。无论如何,这是我的问题:
当我在选项卡主机B的其中一个选项卡中时,我使用内置后退按钮导航回活动A2,onResume
不会被调用。我不明白为什么会出现这种情况......我阅读了有关活动生命周期的文章,在我看来,只要Tab主机B启动,就应该调用Activity A2的onStop方法...并且尽快当我使用后退按钮导航回到它时,应该调用A2的onStart和onResume方法。我能想到的唯一一件事就是可能正在调用Tab Host A的onResume
而不是Activty A2的简历。任何帮助将不胜感激!
以下是我用来从Tab Host A中获取A2的代码:
intent = new Intent().setClass(this, FiltersActivity.class);
spec = tabHost.newTabSpec("filters").setIndicator("Filters",
res.getDrawable(R.drawable.ic_tab_filters)).setContent(intent);
tabHost.addTab(spec);
答案 0 :(得分:0)
开发者页面的评论继承了答案
// Create an Intent to launch an Activity for the tab (to be reused)
intent = new Intent().setClass(this, ArtistsActivity.class);
活动包含在选项卡规范中,其生命周期现在与规范相关。
当您切换到标签并调用它时,您可能想要提供自己的方法。
getTabHost().setCurrentTab(resumeTab);
Activity filtersActivity = this.getCurrentActivity();
filtersActivity.yourMethod();