代码之家  ›  专栏  ›  技术社区  ›  Daniel Sloof

Android强制选项卡活动创建?

  •  1
  • Daniel Sloof  · 技术社区  · 15 年前

    我有一个Android应用程序,它的主要活动是tabhost。我将向TabHost添加多个选项卡,目的是进行多个活动。

    我的问题是,在单击选项卡之前,这些活动不会被创建(OnCreate不会被调用)。这是一个问题,因为我需要注册BroadcastReceivers:可能在打开特定选项卡之前发送了广播。

    我试图通过以下方式来解决这个问题:

    • 将我的接收器设置为静态并从其他地方注册。这是不可能的,因为我需要调用方法。
    • 调用tabhost.setcurrenttabytag(the_tag),然后切换回我的根选项卡。这只是有时有效,这是一个非常丑陋的解决方案。
    • 不是使用活动,而是使用视图。也不是一个非常优雅的解决方案,因为它将我的tabhost活动变成了一个大型的主类,处理各种无关的事情。

    这个问题的最佳解决方案是什么?我能让发送的广播“排队”而不是在没有接收器的情况下消失吗?我可以强制创建我的选项卡活动吗(这不是问题,我的用户几乎可以保证在某些点上使用每个选项卡)?其他想法?

    编辑:

    根据这个问题中的通用软件; Update tabs from a tab's activity in a Android TabHost

    最好将选项卡实现为视图而不是活动…这多少改变了我的问题:

    如何在同一个活动中分离不同类型的逻辑?不太期待30+方法UberActivity。

    1 回复  |  直到 15 年前
        1
  •  0
  •   m6tt    15 年前

    我将使用tabActivity作为广播接收器,而不是tab活动。这将给你更清晰的代码和更多的控制你如何处理广播。