TabActivity显示相同活动的多个选项卡(初始化子活动的属性)

时间:2011-12-06 13:07:54

标签: android android-tabactivity

我刚刚开始3天前的android开发,我正在尝试为雅虎开发一个信使。第一次申请的地狱,对吧?! :d

我现在面临的问题是,我正在尝试实现一个标签式IM窗口,该窗口应该向人们展示我正在聊天。我为单个聊天窗口设计了一个布局文件和必要的活动类,我正在使用TabActivity向用户显示其中的几个。 但问题是我在活动类本身中存储了一些特定于聊天的信息(例如我当前正在聊天的用户的ID),并且在创建新选项卡时我遇到了初始化这些值的问题。

最初我使用BroadcastReceiver和初始化的意图如下:

protected class MyListener extends BroadcastReceiver
    {

        @Override
        public void onReceive(Context context, Intent intent)
        {
            if (intent.getAction().equals(
                    "com.sirm2x.messenger.CHAT_WINDOW_CREATED"))
            {
                 ChatWindowActivity.this.friendId = intent.getExtras()
                 .getString("friendId");
            }
        }
    }

问题是所有活动的friendId都设置为最后一个要创建的标签的值!

这种情况的解决方案/最佳做法是什么?我是否正确地解决了这个问题?

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

这里的问题是你在每个或你的标签中注册一个广播接收器,你的每个接收器接收广播,在其中设置friendId变量。

我不太确定BroadcastReceiver是正确的方法。