我刚刚开始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
都设置为最后一个要创建的标签的值!
这种情况的解决方案/最佳做法是什么?我是否正确地解决了这个问题?
非常感谢任何帮助!
答案 0 :(得分:1)
这里的问题是你在每个或你的标签中注册一个广播接收器,你的每个接收器接收广播,在其中设置friendId变量。
我不太确定BroadcastReceiver是正确的方法。