gpt4 book ai didi

android - tabwidget 中的 Activity 生命周期

转载 作者:行者123 更新时间:2023-11-30 04:42:00 25 4
gpt4 key购买 nike

我正在尝试在相关选项卡被选中时通知我的 Activity 。考虑以下情况:

主要 Activity :

// 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 方法。我想要做的是,在 ProceduresActivity 中,只要选择了选项卡 1 和选项卡 2(我的),就会收到通知。我尝试在 ProceduresActivity 中覆盖 onPause 和 onResume,但是这些仅在 MainActivity 暂停/恢复时调用,而不是在我切换标签时调用...所以换句话说,我希望 ProceduresActivity 在用户选择第二个选项卡时做一些事情,而不仅仅是第一次。有人能帮助我吗?谢谢,卢卡。

最佳答案

嗯。这似乎有点难以实现(我什至不确定是否可能)。我认为有两种方法可以达到相同的结果。

第一种方法是让第一个选项卡在用户返回时刷新它的数据/信息。这可以在 onResume() 中并通过向其添加标志来完成。很简单。

如果您需要您的 Activity 做一些需要一些时间的事情,您可以创建一个 ActivityGroup。它基本上是多个 Activity 的 Controller 。它同时启动它们,然后只选择一次显示哪一个。这意味着(在您的情况下)两个 Activity 都将运行,但只会显示一个。当您希望第一个选项卡在用户使用第二个选项卡时执行某些操作时,您可以转到 ActivityGroup(类似于 Controller )并告诉它使用第一个选项卡执行您想要的任何操作。

我看到 ActivityGroup 路由的唯一问题是将它绑定(bind)到您的选项卡,但是有很多解决方法。

关于android - tabwidget 中的 Activity 生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5819192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com