intentを利用してActivity間で画像の配列を渡す

ルールや手続きで苦戦続きのAndroid開発です…。

需要があるか判りませんが、複数画像(配列)を別のActivityに渡す方法です。

恐らく画像のサイズによってはメモリがどうのと、あまり良くないのかも知れませんが(そこら辺もよく分かってません…)、とりあえず試行錯誤の上、出来たので残しておきます。

Activityを呼び出す側はputExtraを利用してそのまま配列を渡すだけです。

[java]
// Activityを呼び出す側
public void callActivity(Bitmap[] bmp) {
Intent intent = new Intent(Main.this, ImageList.class);
intent.putExtra("IMAGELIST", bmp);
intent.setAction(Intent.ACTION_VIEW);
startActivity(intent);
}
[/java]

困ったのは受け取る側でした。色々エラーを出しながら試行錯誤して以下の形で取得できました。

[java]
Parcelable[] pa = getIntent().getParcelableArrayExtra("IMAGELIST");
if(pa != null) {
for (int i=0; i<pa.length; i++) {
Bitmap bit = (Bitmap)pa[i];
// 処理
}
}
[/java]

上記方法にたどり着くのに半日以上掛かりました…。

もし間違いがあれば指摘してください。