从Tab Host回击按钮时未调用OnResume

时间:2012-05-12 04:46:16

标签: java android android-activity android-tabhost onresume

我遇到了一个讨厌的问题。我有两个标签主机 ... 标签主机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);

1 个答案:

答案 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();