Android tabwidget中的活动生命周期
选择相关选项卡时,我正试图通知我的活动。 考虑以下情况: main活动:Android tabwidget中的活动生命周期,android,android-widget,Android,Android Widget,选择相关选项卡时,我正试图通知我的活动。 考虑以下情况: main活动: // Create an Intent to launch an Activity for the tab (to be reused) intent = new Intent().setClass(this, HomeActivity.class); // Initialize a TabSpec for each tab and add it to the TabHost spec = tabHost.newTabS
// Create an Intent to launch an Activity for the tab (to be reused)
intent = new Intent().setClass(this, HomeActivity.class);
// Initialize a TabSpec for each tab and add it to the TabHost
spec = tabHost.newTabSpec("home").setIndicator("Home",
res.getDrawable(R.drawable.ic_tab_home))
.setContent(intent);
tabHost.addTab(spec);
// Do the same for the other tabs
intent = new Intent().setClass(this, ProceduresActivity.class);
spec = tabHost.newTabSpec("procedures").setIndicator("Procedures",
res.getDrawable(R.drawable.ic_tab_checklist))
.setContent(intent);
tabHost.addTab(spec);
现在,第一次选择我的第二个选项卡时,调用了ProceduresActivity的onCreate方法。
我想做的是,在过程活动中,每当选择表1和表2(我的)时,都会收到通知。
我尝试在过程活动中覆盖“暂停”和“恢复”,但这些仅在主活动被激活/恢复时调用,而不是在切换选项卡时调用。。。
因此,换句话说,我希望ProceduresActivity在用户选择第二个选项卡时做一些事情,而不仅仅是第一次。
有人能帮我吗?
谢谢你,卢卡。嗯。这似乎有点难以实现(我甚至不确定是否可能)。我认为有两种方法可以实现相同的结果 第一种方法是让第一个选项卡在用户返回时刷新其数据/信息。这可以在onResume()中通过向其添加标志来完成。很简单 如果你需要你的活动来做一些需要一些时间的事情,你可以创建一个ActivityGroup。它基本上是一个多活动的控制器。它会同时启动它们,并选择一次显示哪一个。这意味着(在您的情况下)两个活动都将运行,但只显示一个。当您希望第一个选项卡在用户使用第二个选项卡时执行某些操作时,您可以转到ActivityGroup(类似于控制器),并告诉它可以使用第一个选项卡执行任何操作
我发现ActivityGroup路由的唯一问题是将其绑定到您的选项卡,但有许多解决方法。Hmmm。这似乎有点难(我甚至不确定是否可能)实现。我认为有两种方法可以实现相同的结果 第一种方法是让第一个选项卡在用户返回时刷新其数据/信息。这可以在onResume()中通过向其添加标志来完成。很简单 如果你需要你的活动来做一些需要一些时间的事情,你可以创建一个ActivityGroup。它基本上是一个多活动的控制器。它会同时启动它们,并选择一次显示哪一个。这意味着(在您的情况下)两个活动都将运行,但只显示一个。当您希望第一个选项卡在用户使用第二个选项卡时执行某些操作时,您可以转到ActivityGroup(类似于控制器),并告诉它可以使用第一个选项卡执行任何操作
我发现ActivityGroup路由的唯一问题是将其绑定到您的选项卡,但有许多解决方法。也许这可以帮助您,我使用它在选项卡更改时执行操作。但也许你可以改变它,在每个标签上做一个特定的动作
getTabHost().setOnTabChangedListener(new OnTabChangeListener() {
public void onTabChanged(String tabId) {
//TODO, action to be performed
}
}
});
也许这可以帮助你,我用它来执行一个行动时,标签的变化。但也许你可以改变它,在每个标签上做一个特定的动作
getTabHost().setOnTabChangedListener(new OnTabChangeListener() {
public void onTabChanged(String tabId) {
//TODO, action to be performed
}
}
});
你的第一个解决方案实际上是有效的。。。我不知道我以前在做什么,但它并不是每次用户返回该选项卡时都调用Resume。。。顺便说一句,谢谢!没问题。我很高兴能帮上忙你的第一个解决方案实际上是有效的。。。我不知道我以前在做什么,但它并不是每次用户返回该选项卡时都调用Resume。。。顺便说一句,谢谢!没问题。我很乐意帮忙