Android强制选项卡活动创建?

时间:2010-06-03 15:29:56

标签: android android-activity broadcastreceiver android-tabhost

我有一个Android应用程序,其主要活动是tabhost。我正在向tabhost添加多个选项卡,意图进行多项活动。

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

我试图解决这个问题:

  • 将我的接收器设置为静态并从其他位置注册。这是不可能的,因为我需要调用方法。
  • 调用tabHost.setCurrentTabByTag(the_tag),然后切换回我的根选项卡。这有时只能起作用,这是一个非常难看的解决方案。
  • 不使用活动,而只是使用视图。也不是一个非常优雅的解决方案,因为它将我的tabHost活动变成了一个巨大的大师班,做了各种不相关的事情。

这个问题的最佳解决方案是什么?我可以以某种方式使发送的广播'队列'而不是只有在没有接收器时消失?我可以强制创建我的标签活动(这不是问题,我的用户几乎可以保证在某些时候使用每个标签)?其他想法?

编辑:

根据CommonsWare的这个问题; Update tabs from a tab's activity in a Android TabHost

将标签实现为视图而不是活动可能是一个更好的主意......这有点改变了我的问题:

如何在同一活动中分离不同类型的逻辑?并不真的期待30+方法的过分性。

1 个答案:

答案 0 :(得分:0)

我会使用TabActivity作为我的广播接收器而不是标签活动。这将为您提供更清晰的代码,并更好地控制您处理广播的方式