2012-03-01 5 views
0

私はLocalBroadcastManagerを使用してクラス間でデータを送信しています。私はStringオブジェクトのArrayListを1次元で送信しようとしています。配列は送信時にすべての文字列を持ちますが、受信側では空です。誰もこれを見たことがありますか?ここに私のコードです。ArrayList <String>をAndroidのBroadcastReceiverに渡す

メッセージ送信:

Intent updatedIdsIntent = new Intent(Common.ContentIdsUpdatedNotification); 
    updatedIdsIntent.putStringArrayListExtra(Common.UpdatedContentIdsKey, this.updatedContentIds); 

LocalBroadcastManager.getInstance(ctx).sendBroadcast(updatedIdsIntent); 

(常に空)メッセージを取得します。

Log.i(TAG, "content ids updated in activity " + intent.getStringArrayListExtra(Common.UpdatedContentIdsKey)); 

答えて

0

結局のところ、私はそれをオフに送信した後、私はその配列を空にしています。 の場合、ブロードキャストレシーバは、それに参照を使用しているため、 です。したがって、クリアされた受信者を取得するか、またはクリアされた後に送信しています。 のいずれかの方法で、後でアレイを消去しないと、正しく表示されます。

新しい配列に配列をコピーして送信するように修正しました。