2016-09-29 13 views
1

私はアクティビティでビットマップのリストを持っています。私は非同期メソッドを使用しました。今私は別のアクティビティに私のビットマップのリストを渡す必要があります。ここでAndroid - ビットマップのリストを別のアクティビティにパラメータとして渡す方法

は、それは私にエラーを与える私が試したコードですが、私にエラーを与える...

List<Bitmap> result = bitmapResult 
Intent intent = new Intent(PhotoList.this,ImageSlider.class); 
intent.putExtra("bitmapList", result); 
startActivity(intent); 

Cannot resolve method 'putExtra(java.lang.String, java.util.List<android.graphics.Bitmap>)' 

これを実行するベストプラクティスは何ですか? 新しいアクティビティからリストを取得するにはどうすればよいですか?

ありがとうございます。

+0

"それは私にエラーを与える"非常に広い用語です。あなたが得ているエラーを投稿してください。 – kosa

+0

あなたのログを共有してください。 –

+2

ビットマップのリストを渡すことは決してありません。彼らは大きすぎて、記憶上の問題にぶつかります。あなたはSdCardやURLのどこにあるのかを指す文字列のように、画像への参照を渡します。 – Budius

答えて

7

あなたのビットマップ配列はどれくらいの大きさであるのかわからないので、割り当てられた範囲を越えて割り当てられた可能性があります。理想的な方法は、ビットマップをSDCard/Phoneストレージにイメージとして保存し、そのUriを取得することです。したがって、あなたはUri文字列の配列をList<Bitmaps>ではなく

+0

それから私は新しい活動に文字列のリストを渡し、新しい非同期呼び出しを行います。 – pasluc74669

-1

で送信する必要があります。あなたが以前に送信したリストを受け取らなければなりません。

List<Bitmap> result = bitmapResult 
Intent intent = new Intent(PhotoList.this,ImageSlider.class); 
intent.putExtra("bitmapList", result); 
startActivity(intent); 

受信アクティビティ;

List<Bitmap> receive = (List<Bitmap> getIntent.getExtra.get("bitmapList"); 

その後、必要な項目を設定するために「forループ」を使用します。 ArrayListを使用すると、簡単になります。

+0

これは実現可能ではありません – AwaisMajeed

関連する問題