Android从TabHost管理的不同活动发送数据(具有自定义TabWidgets)

时间:2011-07-14 12:51:28

标签: android broadcastreceiver android-tabhost android-intent

我在使用TabHost管理的活动之间进行通信时遇到问题。特别是问题是:

  • 有一个扩展TabActivity的主类;在它是一个有4个屏幕的TabHost;
  • 4个屏幕是4个不同的活动,由TabHost管理,如下所示:

    private void setupScreen1{
    intent.setClass(this, Class1.class);
    
    TabHost.TabSpec spec = tabHost.newTabSpec("a1")
            .setIndicator(getString(R.string.week_view),
                    getResources().getDrawable(R.drawable.icon1))
            .setContent(intent);
    tabHost.addTab(spec); }
    
  • 从Screen1我需要将TabHost的currentTab更改为Screen2并将一些数据发送到Screen2。为此我有2个BroadcastReceivers。 - >一个发送意图到主类切换选项卡(在这个onReceive()我只做一个:setCurrentTab(intent.getIntExtra(DATA, -1)); - >另一个将数据发送到Screen2:Screen2使用onCreate()中的这些数据作为标题;同样在Screen2.onCreate()中有一个BroadcastReveiver监听这个数据用作标题

问题是:第一次TabHost切换到Screen2时,数据不会被发送,因为BroadcastReciver尚未被注册(因为Screen2.onCreate()刚刚被调用)。在此之后,它似乎每次都正常工作。

有谁知道如何解决这个问题?

0 个答案:

没有答案