3日前にアンドロイド開発を始めたばかりで、Yahooのメッセンジャーを開発しようとしています。まさかの初応募ですよね!? :D
私が今直面している問題は、現在チャットしている人を表示するタブ付きの IM ウィンドウを実装しようとしていることです。単一のチャット ウィンドウに必要なレイアウト ファイルとアクティビティ クラスを設計し、TabActivity
それらのいくつかをユーザーに表示するために を使用しています。ただし、問題は、チャット固有の情報 (現在チャットしているユーザーの ID など) をアクティビティ クラス自体に保存していて、新しいタブが作成されたときにそれらの値を初期化する際に問題に直面していることです。
最初に、BroadcastReceiver
次のように初期化するために a と a インテントを使用しました。
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
すべてのアクティビティの が、作成される最後のタブに渡された値に設定されていることです!
このような状況の解決策/ベスト プラクティスは何ですか? 問題に正しくアプローチしていますか?
どんな助けでも大歓迎です!