我看到很多StackOverflow问题/答案,这些问题/答案是由于TabHost设置方式的各种限制,最好不要将活动用作选项卡的内容。
作为反活动制表联盟(AATA)的自任命主席,这当然是我的立场。
单击与“人物”,“地点”或“事件”相对应的图标时,它将在与该对象相对应的URI上触发“查看意图”;由活动显示,然后显示对象。
请注意,这与将活动作为选项卡的内容无关。
我们可以启动一个新的活动来再次显示地图,但是现在我们将地图活动作为选项卡的内容,再加上显示活动,以及活动堆栈中的新地图活动。考虑到地图活动需要大量资源,我想这不是理想的选择。
如果可能,我会避免使用。
我担心,如果我们切换到基于View的工作方式,我们将不得不做大量的内务处理以拦截所有后退事件,尝试切换视图等,以及以我们不想要的方式强烈地耦合我们的程序。
这与您先前编写的内容完全不符。在使用“视图”作为选项卡的内容与使用“活动”作为选项卡的内容之间,您的“后退事件”将不会改变。此外,这与您描述的“松耦合”模式没有任何关系-
单击选项卡视图中列表中列表中的图标与单击活动中视图中列表中列表中的图标没有什么不同。标签。
只要让您的Show活动告诉您,嗯,主要活动以显示特定位置,然后Show活动就可以
finish()。在活动之间不引入硬JVM耦合的情况下,最简单的方法
Intent是
BroadcastReceiver在主活动中广播和注册a
。收到此消息后
Intent,主要活动将更新地图并将其设置为当前选项卡。当然,如果您的主要活动使用“视图”作为其选项卡内容,则此方法会更简单。
现在,如果您尝试修改应用程序,以使在选项卡中导航不会启动其他活动,而是将内容保留在其自己的选项卡中……那是整个“鱼群”。



